Android MediaPlayer某些播放场景下,由于SurfaceView的使用方式的问题,可能遇到 播放开始出现上一次播放的残留画面,为此需要在每次播放开始或结束时,对SurfaceView做清屏clear 方式一:注意可能导致的问题 You can't clear it withCanvasdraw commands because that will prevent you from playing movies on that surface aga...
但是我们知道MediaPlayer主要用于播放音频,它是没有提供输出图像的输出界面,这时我们就用到了SurfaceView控件,将它与MediaPlayer结合起来,就能达到了视频的输出了。首先来了SurfaceView这个控件类 SurfaceView类 构造方法 常用方法 SurfaceHolder 它是一个接口,用于管理SurfaceView。里面有两个常用的内部接口SurfaceHolder.Callba...
1、调用player.setDataSource()方法设置要播放的资源,可以是文件、文件路径、或者URL。 2、调用MediaPlayer.setDisplay(holder)设置surfaceHolder,surfaceHolder可以通过surfaceview的getHolder()方法获得。 3、调用MediaPlayer.prepare()来准备。 4、调用MediaPlayer.start()来播放视频。 这是大致步骤,但只有这些是不...
3)activity oncreate 进行初始化 MediaPlayer, SurfaceView Holder 1if(mediaPlayer ==null) {2mediaPlayer =newMediaPlayer();3//不维持自身缓冲区,直接显示4//this value only use Hardware decoder before Android 2.35if(Build.VERSION.SDK_INT <Build.VERSION_CODES.HONEYCOMB6&&mHardwareDecoder) {7sv_video...
上次介绍MediaPlayer的时候略微介绍了SurfaceView,SurfaceView因为能够直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的画图容器,这次我就用两篇文章来介绍SurfaceView的使用方法。 网上介绍SurfaceView的使用方法有非常多,写法也层出不同,比如继承SurfaceView类,或者继承SurfaceHolder.Callback类等。这个能够依据功能...
1、调用player.setDataSource()方法设置要播放的资源,可以是文件、文件路径、或者URL。 2、调用MediaPlayer.setDisplay(holder)设置surfaceHolder,surfaceHolder可以通过surfaceview的getHolder()方法获得。 3、调用MediaPlayer.prepare()来准备。 4、调用MediaPlayer.start()来播放视频。
4,Callback.surfaceCreated()是时候给mediaPlayer设置surfaceHolder,并设置资源文件(第二步)。最开始我也考虑过在activity.onresume的时候开始,但是这样的不好处很明显就是可能在开始声音之后,几秒才能看到画面。而在Callback.surfaceCreated()的时候,可以保证在surfaceView创建完成,这个时候,开始播放视频,画面和音频就不会...
Android提高第二篇之SurfaceView的基本使用 阅读更多 本文来自http://blog.csdn.net/hellogv/,引用必须注明出处! 上次介绍MediaPlayer的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。网上介绍SurfaceView的...
1、videoView+mediaPlayer videoView继承自SurfaceView。surfaceView是在现有View上创建一个新的Window, 内容显示和渲染是在新的Window中,这使得SurfaceView的绘制和刷新可以在单独的线程中进行。 由于SurfaceView的内容是在新建的Window中,这使得SurfaceView不能放在RecyclerView或ScrollView中,一些View中的特性也无法使用。
MediaPlayerVideoActivity代码如下: 具体注释已经在代码中给出 public class MediaPlayerVideoActivity extends AppCompatActivity implements View.OnClickListener {private SurfaceView surfaceView;private Button btn_play,btn_pause,btn_stop; //三个播放按钮 分别为播放,暂停,停止private MediaPlayer mediaPlayer; //媒体...