视频播放器的界面设计并实现播放器
類MediaController extends FrameLayout:
? ? ? ? ? ?
屬性:
? ? ? ? ? ? ? ?TransportController mController;播放的接口
? ? ? ? ? ? ? ?Context ?mContext;上下文
? ? ? ? ? ? ? ?ProgressBar mProgress;
? ? ? ? ? ? ? ?TextView mEndTime,mCurrentTime;
? ? ? ? ? ? ? ?boolean mDreagging;
? ? ? ? ? ? ? ? boolean mUseFastForward;
? ? ? ? ? ? ? ?boolean mListenersSet;
? ? ? ? ? ? ? ? boolean mShowNext,mShowPrev;
? ? ? ? ? ? ? ? private View.OnclickListener mNextListener,mPrevListener;
? ? ? ? ? ? ? ? ?StringBuilder mFormatBuilder;
? ? ? ? ? ? ? ? Formatter mFormatter;
? ? ? ? ? ? ? ? ? ImageButton mPauseButton;
? ? ? ? ? ? ? ? ? ImageButton mFfwdButton;
? ? ? ? ? ? ? ? ?ImageButton mRewButton;
? ? ? ? ? ? ? ? ?ImageButton mNextButton;
? ? ? ? ? ? ? ? ?ImageButton mPrevButton;
? ? ? ? ? ? ? ? ?TransportStateListner mStateListener:狀態監聽器
方法:
? ? ? ? ? ? ? ?setMediaPlayer(TransortController controller):如果mController不能空,mController.unregisterStateListener(mStateListener);mController=controller;updatePausePlay();
? ? ? ? ? ? ? ?onAttachedToWindow(): mController.registerStateListener(mStateListener);
? ? ? ? ? ? ? onDetachedFromWindow():mController.unregisterStateListener(mStateListener);
? ? ? ? ? ? ? initControllerView():設置界面
? ? ? ? ? ? ?void updateButtons(){
? ? ? ? ? ? ? 通過mPauseButton.setEnabled(enabled&&(flag&TransportMediator.FLAG_KEY_MEDIA_PAUSE)!=0);
? ? ? ? ? ? ? 等等
? ? ? ? ? ? ? refresh():調用了updateProgress(),updateButtons(),updatePausePlay()
? ? ? ? ? ? ? ?stringForTime(int timeMs):表示字符串時間
? ? ? ? ? ? ? long updateProgress():返回position
? ? ? ? ? ? ? updatePausePlay():更新按鈕
? ? ? ? ? ? ? doPauseResume():控制播放和暫停?
? ? ? ? ? ? ? SeekBar.OnSeekBarChangeListener mSeekListener:監聽seekbar的滑動等操作
? ? ? ? ? ? ? setEnaled(enabled):調用updateButtons
? ? ? ? ? ? ? onInitializeAccessibilityEvent(event):
?類TransportControllerActivity extends Activity
屬性:
? ? ? ? ? ? Content content;為繼承了videoview
? ? ? ? ? ? TransportMediator mTransportMediator;
? ? ? ? ? ? MediaController mMediaController;
? ? ? ? ? ? ?TransportPerformer mTransportPerformer=new TransportPerformer(){
? ? ? ? ? ? ? ? ..........Content.start()等等
方法:
? ? ? ? ? ? dispatchKeyEvent(KeyEvent event)
內部類Content:
? ? ? ?實現onSystemUiVisibilityChange,onWindowVisibilityChanged,onClck(View v)
? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ? ?
? ? ? ? ? ? ??
總結
以上是生活随笔為你收集整理的视频播放器的界面设计并实现播放器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android RemoteContro
- 下一篇: ActionBarActionMode的