android多媒体之播放音视频
2018-03-03 00:56
459 查看
播放音频
在Android中播放音频文件一般都是使用MediaPlayer类来实现,它对多种格式的音频文件提供了非常全面的控制方法。常用的控制方法有:setDataSource(), prepare(), start(), pause(), reset()(将MediaPlayer对象重置到刚刚创建的状态), seekTo(), stop()(停止播放音频,调用这个方法后的MediaPlayer对象无法再播放音频), release(), isPlaying()和getDuration()。
需要注意:在活动的onCreate()方法中要进行运行时权限处理,动态申请WRITE_EXTERNAL_STORAGE权限,这是因为为了播放SD卡里放置的一个音频文件,必须拥有访问SD卡的权限才行,如何操作可以参考http://blog.csdn.net/hanmindi/article/details/79407453
初始化:
开始播放:
暂停播放:
停止播放 (重点):
销毁播放器 (重点):
播放视频
播放视频文件主要使用VideoView类来实现,其实并不比播放音频文件复杂。VideoView的使用方法跟MediaPlayer比较相似,可以很容易的实现一个简易的视频播放器。常用的方法有:setVideoPath(), start(), pause(), resume()(将视频重头开始播放), seekTo(), isPlaying()和getDuration()。需要注意的是,播放视频的运行时权限处理跟播放音频一致。
初始化:
开始播放:
暂停播放:
重新播放:
销毁播放器 (重点):
另外需要注意,VideoView并不是一个万能的视频播放器工具类,它在视频格式的支持以及播放效率方面都存在着较大的不足,所以,如果想要仅仅使用VideoView就编写出一个功能非常强大的视频播放器是不现实的,但是如果只是用于播放一些游戏的片头动画,或者某个应用的视频宣传,使用VideoView还是绰绰有余的。
在Android中播放音频文件一般都是使用MediaPlayer类来实现,它对多种格式的音频文件提供了非常全面的控制方法。常用的控制方法有:setDataSource(), prepare(), start(), pause(), reset()(将MediaPlayer对象重置到刚刚创建的状态), seekTo(), stop()(停止播放音频,调用这个方法后的MediaPlayer对象无法再播放音频), release(), isPlaying()和getDuration()。
需要注意:在活动的onCreate()方法中要进行运行时权限处理,动态申请WRITE_EXTERNAL_STORAGE权限,这是因为为了播放SD卡里放置的一个音频文件,必须拥有访问SD卡的权限才行,如何操作可以参考http://blog.csdn.net/hanmindi/article/details/79407453
初始化:
private void initMediaPlayer(){ try{ File file = new File(Environment.getExternalStorageDirectory(), "music.mp3"); mediaPlayer.setDataSource(file.getPath()); mediaPlayer.prepare(); }catch(Exception e){ e.printStackTrace(); } }
开始播放:
if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); }
暂停播放:
if(mediaPlayer.isPlaying()){ mediaPlayer.pause(); }
停止播放 (重点):
if(mediaPlayer.isPlaying()){ mediaPlayer.reset(); initMediaPlayer(); }
销毁播放器 (重点):
@Override protected void onDestroy(){ super.onDestroy(); if(mediaPlayer != null){ mediaPlayer.stop(); mediaPlayer.release(); } }
播放视频
播放视频文件主要使用VideoView类来实现,其实并不比播放音频文件复杂。VideoView的使用方法跟MediaPlayer比较相似,可以很容易的实现一个简易的视频播放器。常用的方法有:setVideoPath(), start(), pause(), resume()(将视频重头开始播放), seekTo(), isPlaying()和getDuration()。需要注意的是,播放视频的运行时权限处理跟播放音频一致。
初始化:
private void initVideoPath(){ File file = new File(Environment.getExternalStorageDirectory(), "music.mp4"); videoView.setVideoPath(file.getPath()); }
开始播放:
if(!videoView.isPlaying()){ videoView.start(); }
暂停播放:
if(videoView.isPlaying()){ videoView.pause(); }
重新播放:
if(videoView.isPlaying()){ videoView.resume(); }
销毁播放器 (重点):
@Override protected void onDestroy(){ super.onDestroy(); if(videoView != null){ videoView.suspend(); //将videoView所占用的资源释放掉 } }
另外需要注意,VideoView并不是一个万能的视频播放器工具类,它在视频格式的支持以及播放效率方面都存在着较大的不足,所以,如果想要仅仅使用VideoView就编写出一个功能非常强大的视频播放器是不现实的,但是如果只是用于播放一些游戏的片头动画,或者某个应用的视频宣传,使用VideoView还是绰绰有余的。
相关文章推荐
- 28、从头学Android之多媒体--使用MediaPlayer和SurfaceView播放视频
- Android之多媒体--使用VideoView播放视频
- Android 多媒体应用:视频播放之Vitamio
- Android开发之基础---------多媒体音乐和视频播放
- Android多媒体技术之视频播放
- Android之多媒体--使用MediaPlayer和SurfaceView播放视频
- Android多媒体学习:播放网络上的视频
- Android多媒体--音视频播放
- android 多媒体 视频播放
- Android多媒体——(MidiaRecorder音频录制/视频播放surface/Soundpool提示音/调用系统摄像头camera)
- Android多媒体学习十四:播放网络上的视频
- android 多媒体编程(二) MediaPlayer 播放视频
- 从头学Android之多媒体--使用MediaPlayer和SurfaceView播放视频
- Android -- 视频音频多媒体播放,在线播放, MediaPlayer, SurfaceView, SoundPool, Timer定时器使用
- Android多媒体技术之视频播放
- Android第八讲——多媒体(四)播放视频(mp4/3gp) MediaPlayer
- android 多媒体编程(三) VideoView播放视频
- 从头学Android之多媒体--使用MediaPlayer和SurfaceView播放视频
- Android 多媒体编程 视频播放
- android 多媒体编程(四) Vitamio播放视频