Java Code Examples for android.media.MediaPlayer#MEDIA_INFO_BUFFERING_START

The following examples show how to use android.media.MediaPlayer#MEDIA_INFO_BUFFERING_START . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: VideoPlayerActivity.java    From VideoRecord with MIT License 6 votes vote down vote up
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
    switch (what) {
        case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
            // 音频和视频数据不正确
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            if (!isFinishing())
                mVideoView.pause();
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            if (!isFinishing())
                mVideoView.start();
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
            if (DeviceUtils.hasJellyBean()) {
                mVideoView.setBackground(null);
            } else {
                mVideoView.setBackgroundDrawable(null);
            }
            break;
    }
    return false;
}
 
Example 2
Source File: IntentPlayer.java    From intent_radio with MIT License 6 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer player, int what, int extra)
{
   switch (what)
   {
      case MediaPlayer.MEDIA_INFO_BUFFERING_START:
         State.set_state(context, State.STATE_BUFFER, isNetworkUrl());
         break;

      case MediaPlayer.MEDIA_INFO_BUFFERING_END:
         failure_ttl = initial_failure_ttl;
         State.set_state(context, State.STATE_PLAY, isNetworkUrl());
         break;
   }
   return true;
}
 
Example 3
Source File: ReactVideoView.java    From react-native-video with MIT License 6 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
    switch (what) {
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            mEventEmitter.receiveEvent(getId(), Events.EVENT_STALLED.toString(), Arguments.createMap());
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            mEventEmitter.receiveEvent(getId(), Events.EVENT_RESUME.toString(), Arguments.createMap());
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
            mEventEmitter.receiveEvent(getId(), Events.EVENT_READY_FOR_DISPLAY.toString(), Arguments.createMap());
            break;

        default:
    }
    return false;
}
 
Example 4
Source File: GSYVideoView.java    From GSYVideoPlayer with Apache License 2.0 6 votes vote down vote up
@Override
public void onInfo(int what, int extra) {
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        mBackUpPlayingBufferState = mCurrentState;
        //避免在onPrepared之前就进入了buffering,导致一只loading
        if (mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
            setStateAndUi(CURRENT_STATE_PLAYING_BUFFERING_START);

    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        if (mBackUpPlayingBufferState != -1) {
            if (mBackUpPlayingBufferState == CURRENT_STATE_PLAYING_BUFFERING_START) {
                mBackUpPlayingBufferState = CURRENT_STATE_PLAYING;
            }
            if (mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
                setStateAndUi(mBackUpPlayingBufferState);

            mBackUpPlayingBufferState = -1;
        }
    } else if (what == getGSYVideoManager().getRotateInfoFlag()) {
        mRotate = extra;
        Debuger.printfLog("Video Rotate Info " + extra);
        if (mTextureView != null)
            mTextureView.setRotation(mRotate);
    }
}
 
Example 5
Source File: JZVideoPlayer.java    From JZVideoDemo with MIT License 6 votes vote down vote up
/**
 * exo没有这个方法
 * 会直接调用onStatePlaybackBufferingStart()进入loading
 *
 * @param what
 * @param extra
 */
public void onInfo(int what, int extra) {
    Log.d(TAG, "onInfo what - " + what + " extra - " + extra);
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        if (currentState == CURRENT_STATE_PLAYING_BUFFERING_START) return;
        BACKUP_PLAYING_BUFFERING_STATE = currentState;
        onStatePlaybackBufferingStart();
        Log.d(TAG, "MEDIA_INFO_BUFFERING_START");
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        if (BACKUP_PLAYING_BUFFERING_STATE != -1) {
            if (currentState == CURRENT_STATE_PLAYING_BUFFERING_START) {
                setState(BACKUP_PLAYING_BUFFERING_STATE);
            }
            BACKUP_PLAYING_BUFFERING_STATE = -1;
        }
        Log.d(TAG, "MEDIA_INFO_BUFFERING_END");
    } else if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
        onVideoRendingStart();
    }
}
 
Example 6
Source File: ImageDisplayActivity.java    From TestChat with Apache License 2.0 6 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
        switch (what) {
                case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
                        // 音频和视频数据不正确
                        break;
                case MediaPlayer.MEDIA_INFO_BUFFERING_START:
                        if (!isFinishing())
                                mSurfaceVideoView.pause();
                        break;
                case MediaPlayer.MEDIA_INFO_BUFFERING_END:
                        if (!isFinishing())
                                mSurfaceVideoView.start();
                        break;
                case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
                        if (DeviceUtils.hasJellyBean()) {
                                mSurfaceVideoView.setBackground(null);
                        } else {
                                mSurfaceVideoView.setBackgroundDrawable(null);
                        }
                        break;
        }
        return false;
}
 
Example 7
Source File: VideoPlayActivity.java    From TestChat with Apache License 2.0 6 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
        switch (what) {
                case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
                        // 音频和视频数据不正确
                        break;
                case MediaPlayer.MEDIA_INFO_BUFFERING_START:
                        if (!isFinishing())
                                mVideoView.pause();
                        break;
                case MediaPlayer.MEDIA_INFO_BUFFERING_END:
                        if (!isFinishing())
                                mVideoView.start();
                        break;
                case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
                        if (DeviceUtils.hasJellyBean()) {
                                mVideoView.setBackground(null);
                        } else {
                                mVideoView.setBackgroundDrawable(null);
                        }
                        break;
        }
        return false;
}
 
Example 8
Source File: VideoPlayerActivity.java    From Simpler with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
    // 当一些特定信息出现或者警告时触发
    Log.d(TAG, "INFO = " + what + "/" + extra);
    switch (what) {
        case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
            Log.d(TAG, "MEDIA_INFO_BAD_INTERLEAVING");
            break;
        case MediaPlayer.MEDIA_INFO_METADATA_UPDATE:
            Log.d(TAG, "MEDIA_INFO_METADATA_UPDATE");
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING:
            Log.d(TAG, "MEDIA_INFO_VIDEO_TRACK_LAGGING");
            break;
        case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE:
            Log.d(TAG, "MEDIA_INFO_NOT_SEEKABLE");
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            Log.d(TAG, "MEDIA_INFO_BUFFERING_START");
            if (mVideoView.isPlaying()) {
                mVideoView.pause();
                mLoadingView.setVisibility(View.VISIBLE);
            }
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            Log.d(TAG, "MEDIA_INFO_BUFFERING_END");
            mVideoView.start();
            mLoadingView.setVisibility(View.GONE);
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
            Log.d(TAG, "MEDIA_INFO_VIDEO_RENDERING_START");
            mLoadingView.setVisibility(View.GONE);
            break;
    }
    return true;
}
 
Example 9
Source File: PlaybackActivity.java    From PLDroidShortVideo with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
    Log.i(TAG, "OnInfo, what = " + what + ", extra = " + extra);
    switch (what) {
        case MediaPlayer.MEDIA_INFO_UNKNOWN:
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING:
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
            Log.i(TAG, "video rendering start, ts = " + extra);
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_BUFFERING_START");
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            Log.i(TAG, "onInfo: MEDIA_INFO_BUFFERING_END");
            break;
        case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
            Log.i(TAG, "onInfo: MEDIA_INFO_BAD_INTERLEAVING");
            break;
        case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE:
            Log.i(TAG, "onInfo: MEDIA_INFO_NOT_SEEKABLE");
            break;
        case MediaPlayer.MEDIA_INFO_METADATA_UPDATE:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_METADATA_UPDATE");
            break;
        case MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE");
            break;
        case MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT ");
            break;
        default:
            break;
    }
    return true;
}
 
Example 10
Source File: JCVideoPlayer.java    From JieCaoVideoPlayer-develop with MIT License 5 votes vote down vote up
@Override
public void onInfo(int what, int extra) {
    Log.i(TAG, "onInfo what - " + what + " extra - " + extra);
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        BACKUP_PLAYING_BUFFERING_STATE = mCurrentState;
        setStateAndUi(CURRENT_STATE_PLAYING_BUFFERING_START);
        Log.i(TAG, "MEDIA_INFO_BUFFERING_START");
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        setStateAndUi(BACKUP_PLAYING_BUFFERING_STATE);
        Log.i(TAG, "MEDIA_INFO_BUFFERING_END");
    }
}
 
Example 11
Source File: PlaybackActivity.java    From PLDroidShortVideo with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
    Log.i(TAG, "OnInfo, what = " + what + ", extra = " + extra);
    switch (what) {
        case MediaPlayer.MEDIA_INFO_UNKNOWN:
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING:
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
            Log.i(TAG, "video rendering start, ts = " + extra);
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_BUFFERING_START");
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            Log.i(TAG, "onInfo: MEDIA_INFO_BUFFERING_END");
            break;
        case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
            Log.i(TAG, "onInfo: MEDIA_INFO_BAD_INTERLEAVING");
            break;
        case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE:
            Log.i(TAG, "onInfo: MEDIA_INFO_NOT_SEEKABLE");
            break;
        case MediaPlayer.MEDIA_INFO_METADATA_UPDATE:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_METADATA_UPDATE");
            break;
        case MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE");
            break;
        case MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT:
            Log.i(TAG, "onInfo: MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT ");
            break;
        default:
            break;
    }
    return true;
}
 
Example 12
Source File: MiniMusicView.java    From MiniMusicView with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onInfo(int what, int extra) {
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        changeLoadingMusicState(true);
        Log.i(TAG, "MEDIA_INFO_BUFFERING_START");
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        changeLoadingMusicState(false);
        Log.i(TAG, "MEDIA_INFO_BUFFERING_END");
    }
    if (mMusicStateListener != null) {
        mMusicStateListener.onInfo(what, extra);
    }
    return false;
}
 
Example 13
Source File: UniversalVideoView.java    From LLApp with Apache License 2.0 5 votes vote down vote up
public  boolean onInfo(MediaPlayer mp, int what, int extra){
    boolean handled = false;
    switch (what) {
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            Log.d(TAG, "onInfo MediaPlayer.MEDIA_INFO_BUFFERING_START");
            if (videoViewCallback != null) {
                videoViewCallback.onBufferingStart(mMediaPlayer);
            }
            if (mMediaController != null) {
                mMediaController.showLoading();
            }
            handled = true;
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            Log.d(TAG, "onInfo MediaPlayer.MEDIA_INFO_BUFFERING_END");
            if (videoViewCallback != null) {
                videoViewCallback.onBufferingEnd(mMediaPlayer);
            }
            if (mMediaController != null) {
                mMediaController.hideLoading();
            }
            handled = true;
            break;
    }
    if (mOnInfoListener != null) {
        return mOnInfoListener.onInfo(mp, what, extra) || handled;
    }
    return handled;
}
 
Example 14
Source File: JCVideoPlayer.java    From SprintNBA with Apache License 2.0 5 votes vote down vote up
@Override
public void onInfo(int what, int extra) {
    Log.d(TAG, "onInfo what - " + what + " extra - " + extra);
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        BACKUP_PLAYING_BUFFERING_STATE = mCurrentState;
        setStateAndUi(CURRENT_STATE_PLAYING_BUFFERING_START);
        Log.d(TAG, "MEDIA_INFO_BUFFERING_START");
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        if (BACKUP_PLAYING_BUFFERING_STATE != -1) {
            setStateAndUi(BACKUP_PLAYING_BUFFERING_STATE);
            BACKUP_PLAYING_BUFFERING_STATE = -1;
        }
        Log.d(TAG, "MEDIA_INFO_BUFFERING_END");
    }
}
 
Example 15
Source File: JCVideoPlayer.java    From JCVideoPlayer with MIT License 5 votes vote down vote up
@Override
public void onInfo(int what, int extra) {
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        mBackUpBufferState = currentState;
        setUiWitStateAndScreen(CURRENT_STATE_PLAYING_BUFFERING_START);
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        if (mBackUpBufferState != -1) {
            setUiWitStateAndScreen(mBackUpBufferState);
            mBackUpBufferState = -1;
        }
    }
}
 
Example 16
Source File: DefaultVideoPlayer.java    From NewFastFrame with Apache License 2.0 5 votes vote down vote up
@Override
public boolean onInfo(IMediaPlayer iMediaPlayer, int what, int extra) {
    if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
        //            渲染开始
        mState = PLAY_STATE_PLAYING;
        mVideoController.onPlayStateChanged(mState);
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        //            缓存开始
        if (mState == PLAY_STATE_PLAYING) {
            mState = PLAY_STATE_BUFFERING_PLAYING;
        } else if (mState == PLAY_STATE_PAUSE) {
            mState = PLAY_STATE_BUFFERING_PAUSE;
        }
        mVideoController.onPlayStateChanged(mState);
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        //            缓存结束
        if (mState == PLAY_STATE_BUFFERING_PAUSE) {
            mState = PLAY_STATE_PAUSE;
        } else if (mState == PLAY_STATE_BUFFERING_PLAYING) {
            mState = PLAY_STATE_PLAYING;
        }
        mVideoController.onPlayStateChanged(mState);
    } else if (what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED) {
        // 视频旋转了extra度,需要恢复
        if (defaultTextureView != null) {
            defaultTextureView.setRotation(extra);
            CommonLogger.d("视频旋转角度:" + extra);
        }
    } else {
        CommonLogger.e("播放视频出错" + what + ":::" + extra);
    }
    return true;
}
 
Example 17
Source File: PlaybackService.java    From AntennaPodSP with MIT License 5 votes vote down vote up
@Override
public boolean onMediaPlayerInfo(int code) {
    switch (code) {
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            sendNotificationBroadcast(NOTIFICATION_TYPE_BUFFER_START, 0);
            return true;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            sendNotificationBroadcast(NOTIFICATION_TYPE_BUFFER_END, 0);
            return true;
        default:
            return false;
    }
}
 
Example 18
Source File: CustomVideoView.java    From VideoOS-Android-SDK with GNU General Public License v3.0 5 votes vote down vote up
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
    if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
        // 播放器开始渲染
        mCurrentState = STATE_PLAYING;
        stateChanged(mCurrentState);
        VenvyLog.d(TAG, "onInfo ——> MEDIA_INFO_VIDEO_RENDERING_START:STATE_PLAYING");
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        // MediaPlayer暂时不播放,以缓冲更多的数据
        if (mCurrentState == STATE_PAUSED || mCurrentState == STATE_BUFFERING_PAUSED) {
            mCurrentState = STATE_BUFFERING_PAUSED;
            stateChanged(mCurrentState);
            VenvyLog.d(TAG, "onInfo ——> MEDIA_INFO_BUFFERING_START:STATE_BUFFERING_PAUSED");
        } else {
            mCurrentState = STATE_BUFFERING_PLAYING;
            VenvyLog.d(TAG, "onInfo ——> MEDIA_INFO_BUFFERING_START:STATE_BUFFERING_PLAYING");
        }
    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        // 填充缓冲区后,MediaPlayer恢复播放/暂停
        if (mCurrentState == STATE_BUFFERING_PLAYING) {
            mCurrentState = STATE_PLAYING;
            stateChanged(mCurrentState);
            VenvyLog.d(TAG, "onInfo ——> MEDIA_INFO_BUFFERING_END: STATE_PLAYING");
        }
        if (mCurrentState == STATE_BUFFERING_PAUSED) {
            mCurrentState = STATE_PAUSED;
            stateChanged(mCurrentState);
            VenvyLog.d(TAG, "onInfo ——> MEDIA_INFO_BUFFERING_END: STATE_PAUSED");
        }
    } else if (what == MediaPlayer.MEDIA_INFO_NOT_SEEKABLE) {
        VenvyLog.d(TAG, "视频不能seekTo,为直播视频");
    } else {
        VenvyLog.d(TAG, "onInfo ——> what:" + what);
    }
    return true;
}
 
Example 19
Source File: SysMediaPlayer.java    From PlayerBase with Apache License 2.0 4 votes vote down vote up
public boolean onInfo(MediaPlayer mp, int arg1, int arg2) {
    switch (arg1) {
        case MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING:
            PLog.d(TAG, "MEDIA_INFO_VIDEO_TRACK_LAGGING:");
            break;
        case MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
            PLog.d(TAG, "MEDIA_INFO_VIDEO_RENDERING_START");
            startSeekPos = 0;
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_VIDEO_RENDER_START,null);
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_START:
            PLog.d(TAG, "MEDIA_INFO_BUFFERING_START:" + arg2);
            Bundle bundle = BundlePool.obtain();
            bundle.putLong(EventKey.LONG_DATA, mBandWidth);
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_BUFFERING_START,bundle);
            break;
        case MediaPlayer.MEDIA_INFO_BUFFERING_END:
            PLog.d(TAG, "MEDIA_INFO_BUFFERING_END:" + arg2);
            Bundle bundle1 = BundlePool.obtain();
            bundle1.putLong(EventKey.LONG_DATA, mBandWidth);
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_BUFFERING_END,bundle1);
            break;
        case MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING:
            PLog.d(TAG, "MEDIA_INFO_BAD_INTERLEAVING:");
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_BAD_INTERLEAVING,null);
            break;
        case MediaPlayer.MEDIA_INFO_NOT_SEEKABLE:
            PLog.d(TAG, "MEDIA_INFO_NOT_SEEKABLE:");
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_NOT_SEEK_ABLE,null);
            break;
        case MediaPlayer.MEDIA_INFO_METADATA_UPDATE:
            PLog.d(TAG, "MEDIA_INFO_METADATA_UPDATE:");
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_METADATA_UPDATE,null);
            break;
        case MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE:
            PLog.d(TAG, "MEDIA_INFO_UNSUPPORTED_SUBTITLE:");
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_UNSUPPORTED_SUBTITLE,null);
            break;
        case MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT:
            PLog.d(TAG, "MEDIA_INFO_SUBTITLE_TIMED_OUT:");
            submitPlayerEvent(OnPlayerEventListener.PLAYER_EVENT_ON_SUBTITLE_TIMED_OUT,null);
            break;
        case MEDIA_INFO_NETWORK_BANDWIDTH:
            PLog.d(TAG,"band_width : " + arg2);
            mBandWidth = arg2 * 1000;
            break;
    }
    return true;
}