上节课我们讲了安卓MP3播放,现在我们学习视频播放,遗憾的是目前MediaPlayer只能播放3gp的视频格式,其他需要相应解码器。
视频中的渲染需要一个我们还没有学习过的组件SurfaceView,以及android.view.SurfaceHolder;对其实时渲染
先看主配置文件.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MediaDemo" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <ImageButton android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="start" android:src="@drawable/start" /> <ImageButton android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="stop" android:src="@drawable/stop" /> </LinearLayout> <SurfaceView android:id="@+id/surfaceView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
主Activity代码:
public class MediaDemo extends Activity { MediaPlayer mediaplayer; SurfaceView surfaceview; SurfaceHolder surfaceviewholder; Context context; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_media_demo); surfaceview=(SurfaceView)super.findViewById(R.id.surfaceView); this.context=MediaDemo.this; this.surfaceviewholder=surfaceview.getHolder(); this.surfaceviewholder.setType(surfaceviewholder.SURFACE_TYPE_PUSH_BUFFERS); this.mediaplayer=new MediaPlayer(); try { this.mediaplayer.setDataSource("/sdcard/ee.3gp"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void start(View v){ this.mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC); this.mediaplayer.setDisplay(surfaceviewholder); try { this.mediaplayer.prepare(); this.mediaplayer.start(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void stop(View v){ this.mediaplayer.stop(); } }
实现效果如下:
相关推荐
android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放android视频播放...
Android视频播放 广告,让视频播放更简单.
android 视频播放sdk 文档地址:https://cloud.tencent.com/document/product/881/20213#git
Android视频播放DEMO,视频下方有横向滑动的视频列表.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android 视频播放 开源 vitamio
Android 视频播放demo MediaPlayer+Surface实现 播放网络视频: MyMediaPlayer.getInstance().play("http://download.cntv.cn/docuchina/PSA/2017/08/28/3b69f457848e0b497b12e356376515df_mpeg28000000PCM.mp4"); ...
Android下面 调用API播放video的例子程序 很有代表性 videoplay的源代码例子
简单的视频播放代码,帮助大家完成视频播放功能,希望对大家有很好的帮助
android视频播放工具
一行代码快速实现视频播放,Android视频播放,AndroidMP3播放,安卓视频播放一行代码搞定,真正实现Android的全屏功能,立志成为Android平台使用最广泛的视频播放控件
android视频播放
android平台的视频播放demo 可完整运行
Android视频播放源码,支持小屏,分屏Android视频播放源码,支持小屏,分屏Android视频播放源码,支持小屏,分屏,列表播放
在x86虚拟机中启动带视频的应用时,发现总是黑屏,但声音正常,查看错误日志如下。 Failed to open libwvm.so: ...这时候将libwvm.so文件夹一起复制到Android x86的 /system/lib目录下,修改好权限,即可正常播放了。
android视频播放源代码,播放流畅无卡顿,可以暂停,小屏幕,大屏幕切换播放无卡顿
android 视频播放demo程序
android 视频播放 引用页 源码
android视频播放浮动窗口对话框,可以实现视频的浮动窗口播放。
android 播放MP4视频文件,android 播放MP4视频文件,
一种Android视频播放的双屏异显实现方法及系统.docx