MediaPlayer可以播放视频,只需需要SurfaceView的配合,SurfaceView主要用于显示MediaPlayer播放的视频流媒体的画面渲染。 SurfaceView是配合MediaPlayer使用的,MediaPlayer也提供了相应的方法设置SurfaceView显示图片,只需要为MediaPlayer指定SurfaceView显示图像即可。它的完整签名如下: voidsetDisplay(SurfaceHolder sh) 它需要传递一...
1、创建MediaPlayer对象,并让它加载指定的视频文件。 2、在界面布局文件中定义SurfaceView组件,或在程序中创建SurfaceView组件,并为SurfaceView的SurfaceHolder天剑Callback监听器。 3、调用MediaPlayer对象的setDisplay(SurfaceHolder sh)将所播放的视频图像输出到指定的SurfaceView组件, 4、调用MediaPlayer对象的start()、stop...
使用MediaPlayer和SurfaceView播放视频步骤:1.定义SurfaceView组件 <SurfaceViewandroid:id="@+id/surfaceView1"android:background="@drawable/bg"android:keepScreenOn="true"android:layout_width="576px"android:layout_height="432px"/> 2.创建MediaPlayer对象,并为其健在要播放的视频。与播放音频时创建 MediaPlayer...
1)定义SurfaceView组件,最好在布局文件中实现。 2)创建MediaPlayer对象,并为其加载要播放的视频。 3)将所播放的视频画面输出到SurfaceView中。使用MediaPlayer对象的setDisplay方法,可以将所播放的视频画面输出到SurfaceView。 4)调用MediaPlayer对象的相应方法控制视频的播放,播放play,暂停,pause,停止stop。 效果图如下: ...
1) 创建MediaPlayer对象,并设置加载的视频文件(setDataSource()) 2) 在界面布局文件中定义SurfaceView控件 3) 通过MediaPlayer.setDisplay(SurfaceHolder sh)来指定视频画面输出到SurfaceView之上 4) 通过MediaPlayer的其他一些方法用于播放视频 代码实现: 布局文件:main.xml ...
1、调用player.setDataSource()方法设置要播放的资源,可以是文件、文件路径、或者URL。 2、调用MediaPlayer.setDisplay(holder)设置surfaceHolder,surfaceHolder可以通过surfaceview的getHolder()方法获得。 3、调用MediaPlayer.prepare()来准备。 4、调用MediaPlayer.start()来播放视频。
今天我们就来简单的用TextureView封装下视频播放器; 2、视频播放器方案介绍 1.videoView+mediaPlayer videoView继承自SurfaceView。surfaceView是在现有View上创建一个新的Window, 内容显示和渲染是在新的Window中,这使得SurfaceView的绘制和刷新可以在单独的线程中进行。
当使用MediaPlayer播放视频时,如果SurfaceView为空白,可能是由于以下原因: MediaPlayer没有正确设置视频播放源。需要检查MediaPlayer的setDataSource()方法是否正确设置了视频文件路径或网络地址。 SurfaceView没有正确设置。需要检查SurfaceView的宽度和高度是否正确设置,以及是否正确添加到了视图树中。
下面就使用MediaPlayer+SurfaceView+自定义MediaController实现一个自定义视频播放器。 功能实现: 1.视频加载播放 2.视频播放。暂停 3.视频快进、快退 4.保留扩展性接口,如切换下一个等 5.其他 效果图: VideoPlayer.png 视频播放器结构图: 结构图.png IPlayer作为播放器的总行为接口,定义play、start、pause、stop...
4,Callback.surfaceCreated()是时候给mediaPlayer设置surfaceHolder,并设置资源文件(第二步)。最开始我也考虑过在activity.onresume的时候开始,但是这样的不好处很明显就是可能在开始声音之后,几秒才能看到画面。而在Callback.surfaceCreated()的时候,可以保证在surfaceView创建完成,这个时候,开始播放视频,画面和音频就不会...