视频播放器的界面设计并实现播放器

    xiaoxiao2021-12-14  18

    类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)

                      

                              

                

                 

                  

    转载请注明原文地址: https://ju.6miu.com/read-965489.html

    最新回复(0)