• Android下VideoView的研究


        VideoView继承自SurfaceView,实现了MediaController.MediaPlayerControl的接口。在android系统中的包名为android.widget.VideoView

        VideoView的主要功能是显示一个指定的视频文件。VideoView可以从多个地方载入图片(比如资源或者content provider中)。

        VideoView继承了Android.view.View类中的XML属性、常量、和field(我们常翻译成属性)。在VideoView下有三个构造方法:

    VideoView(Context context)
    VideoView(Context context, AttributeSet attrs)
    VideoView(Context context, AttributeSet attrs, int defStyle)

    VideoView的公有的方法有:

    //这个方法是在API19中才加入的,一般情况下可以不考虑
    void	 addSubtitleSource(InputStream is, MediaFormat format)
    //这个方法可以设置视频是否可以暂停。
    boolean	 canPause()
    //这个方法设置视频是否可以后退
    boolean	 canSeekBackward()
    //这个方法设置视频是否可以前进。
    boolean	 canSeekForward()
    //通常是将这个View渲染到canvas上去。
    void	 draw(Canvas canvas)
    //这个方法如果错误的话会返回0.
    int	 getAudioSessionId()
    //获取缓冲百分比
    int	 getBufferPercentage()
    //获取当前的位置
    int	 getCurrentPosition()
    //获取播放视频的总时间
    int	 getDuration()
    //判断视频是否处于播放状态
    boolean	 isPlaying()
    void	 onInitializeAccessibilityEvent(AccessibilityEvent event)
    
    void	 onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
    
    boolean	 onKeyDown(int keyCode, KeyEvent event)
    
    boolean	 onTouchEvent(MotionEvent ev)
    
    boolean	 onTrackballEvent(MotionEvent ev)
    //停止时
    void	 pause()
    //取得调整后的尺寸。如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。如果measureSpec对象传入的模式是AT_MOST,返回的将
    //是desiredSize和measureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。
    
    int	 resolveAdjustedSize(int desiredSize, int measureSpec)
    //从暂停中恢复
    void	 resume()
    //跳转到
    void	 seekTo(int msec)
    //设置MediaController,方便控制视频播放
    void	 setMediaController(MediaController controller)
    //媒体在播放完毕时的回调函数
    void	 setOnCompletionListener(MediaPlayer.OnCompletionListener l)
    //发生错误时的回调函数
    void	 setOnErrorListener(MediaPlayer.OnErrorListener l)
    
    void	 setOnInfoListener(MediaPlayer.OnInfoListener l)
    //加载完毕后的回调函数
    void	 setOnPreparedListener(MediaPlayer.OnPreparedListener l)
    //设置视频播放路径
    void	 setVideoPath(String path)
    //设置URI
    void	 setVideoURI(Uri uri)
    //视频播放开始
    void	 start()
    //停止回放
    void	 stopPlayback()
    //挂起
    void	 suspend()

    以下是VideoView的protected方法:

    void	 onAttachedToWindow()
    void	 onDetachedFromWindow()
    
    void	 onLayout(boolean changed, int left, int top, int right, int bottom)
    void	 onMeasure(int widthMeasureSpec, int heightMeasureSpec)

    以上方法在重写VideoView时实现。

    VideoView继承了以下类的方法:

     android.view.SurfaceView
     android.view.View
     java.lang.Object
    
    //接口
     android.graphics.drawable.Drawable.Callback
     android.view.KeyEvent.Callback
     android.view.accessibility.AccessibilityEventSource
     android.widget.MediaController.MediaPlayerControl
    
    

  • 相关阅读:
    memcached 服务器安装
    农行接口开发
    mysql备份
    IIS下的FTP使用
    建行接口
    Android网络编程之一个Android下菜单系统模块的实现(客户端—更新菜单)
    Android网络编程之一个Android下菜单系统模块的实现(客户端—更新桌号)
    Android网络编程之下菜单系统中的真机调试问题小结
    Android网络编程之一个Android下菜单系统模块的实现(服务器端—更新桌号)
    Android之一个简单的Activity启动画面
  • 原文地址:https://www.cnblogs.com/hainange/p/6153530.html
Copyright © 2020-2023  润新知