本地文件就是指文件放在Android系统的外部存储设备(如:SD卡)和内部设备上的文件,SD卡比较方便,容易更新音频文件,适合于以娱乐为主的应用系统。下面看看播放本地音频文件的代码请参考代码清单12-2,完整代码请参考Chapter12_2工程中AudioPlayer代码部分。
【代码清单12-2】
private void play() {
File sdCardDir = Environment.getExternalStorageDirectory();
String path = sdCardDir.getPath() + "/Lover's Concerto.mp3";
try {
if (mMediaPlayer == null || state == STOP) {
// 创建MediaPlayer对象并设置Listener
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnPreparedListener(preListener);
} else {
// 复用MediaPlayer对象
mMediaPlayer.reset();
}
mMediaPlayer.setDataSource(path);
mMediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
资源文件和本地文件的差别就在于play()方法中的mMediaPlayer = new MediaPlayer(),而不是MediaPlayer.Create(),然后设置预处理监听器,设置setDataSource(path),其中的path是指定的音频文件,这里放置SD卡中的MP3文件,mMediaPlayer.prepare()开始预处理。播放流程如图12-6所示。
图12-6播放流程
如果把文件放入到模拟器的SD卡?如图12-7所示“File Explorer”中右上角的 按钮可以把数据从开发机push到模拟器的SD卡。相反如果需要可以使用 按钮把文件从模拟器pull开发机中。
图12-7 File Explorer
出自《Android开发案例驱动教程》
相关文章
- 07-11Android实现本地音频播放(可拖动条)
- 07-11Android开发 MediaPlayer播放本地视频完善的demo(只是代码记录)
- 07-11Android MediaPlayer 播放音频文件工具方法
- 07-11android – 如何在本机/默认媒体播放器上播放raw / assets文件夹中的音频文件?
- 07-11Android进阶:自定义视频播放器开发(上)
- 07-11Android开发 MediaPlayer入门_播放本地视频
- 07-11Android进阶:自定义视频播放器开发(上)
- 07-11Android平台RTMP/RTSP播放器开发系列之解码和绘制
- 07-11Android简单使用VideoView+MediaController播放本地视频
- 07-11Android手机收集app异常保存到本地,Android开发入门与实战