Android多媒体---SurfaceView(播放视频)+Mediaplayer(音频)
来源:互联网 发布:mac版本炒股软件 编辑:程序博客网 时间:2024/05/16 07:25
前几天做了一个基于Mediaplayer的音频播放app过程还没整理好就没上传,这两天抽空整理下上传。
这一篇是Mediaplayer和Surfaceview的简单配合使用,Mediaplayer只能播放音频没有提供图像输出界面,需要用到Surfaceview显示Mediaplayer播放的图像输出,这个组件自带一个线程,需要Read权限。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
步骤:
1)创建Mediaplayer对象并加载指定视频文件。
2)布局文件中定义Surfaceview或者在程序中创建,并为SurfaceHolder添加CallBack监听(以后再讲)
3)调用Mediaplayer的对象的setDisplay(SurfaceHolder sh)将锁播放的视频图像输出到指定的surfaceView组件
4)调用Mediaplayer的start()/stop()、pause()控制播放
Surfaceview布局:
<SurfaceViewandroid:id="@+id/surfaceview"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/>
在按钮操作中调用如下代码,实现音频视频同步播放
mBtn_start.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (player==null){//防止太多对象吃内存player=new MediaPlayer(); }player.reset();try {player.setDataSource(Environment.getExternalStorageDirectory()+"/123.mp4");player.setAudioStreamType(AudioManager.STREAM_MUSIC);//播放类型(外放还是听筒)player.setDisplay(surfaceView.getHolder());//设置视频播播放位置player.prepare();player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) { mp.start(); } }); } catch (IOException e) { e.printStackTrace(); } }});
0 0
- Android多媒体---SurfaceView(播放视频)+Mediaplayer(音频)
- 多媒体(视频播放器)Mediaplayer+SurfaceView+Seekbar
- Android -- 视频音频多媒体播放,在线播放, MediaPlayer, SurfaceView, SoundPool, Timer定时器使用
- Android -- 视频音频多媒体播放,在线播放, MediaPlayer, SurfaceView, SoundPool, Timer定时器使用
- 多媒体(音频播放)MediaPlayer
- Android MediaPlayer 多媒体(视频播放器)
- Android 多媒体应用——MediaPlayer与SurfaceView播放视频
- 多媒体之播放视频——VideoView和MediaPlayer(MediaPlayer和SurfaceView结合)
- android 多媒体编程(一) MediaPlayer 播放音频
- MediaPlayer和SurFaceView播放视频(疯狂Android讲义-李洋)
- Android MediaPlayer+SurfaceView播放视频(附Demo)
- MediaPlayer和SurFaceView播放视频(疯狂Android讲义-李洋)
- Android MediaPlayer+SurfaceView播放视频 (异常处理)
- android视频播放MediaPlayer+SurfaceView
- android 多媒体编程(二) MediaPlayer 播放视频
- Android VR Player(全景视频播放器) [8]:MediaPlayer+SurfaceView 视频播放
- Android多媒体开发【1】-- 利用SurfaceView + MediaPlayer开发最简单的视频播放器
- Android多媒体开发【1】-- 利用SurfaceView + MediaPlayer开发最简单的视频播放器
- iOS初级数据持久化 沙盒机制 归档与反归档
- Final用法
- Objective-C 基础知识之(八):NSSet
- javascript基本数据类型与值类型引用类型说明
- 设计模式-装饰者模式
- Android多媒体---SurfaceView(播放视频)+Mediaplayer(音频)
- iOS学习 用代码实现界面
- android SDK 升级24.0.2的方法总结
- 关于Adaboost强分类器的训练
- IO读取本地相关类fileinputstream(2015年9月14日)
- 2D特效之水波
- SSLOJ2201 树
- 细说 Form (表单)
- NYOJ 108 士兵杀敌 (一) (树状数组&区间求和)