android多媒体开发--本地音频文件播放

时间:2022-01-09 18:11:16
本地文件就是指文件放在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所示。

android多媒体开发--本地音频文件播放

图12-6播放流程
 如果把文件放入到模拟器的SD卡?如图12-7所示“File Explorer”中右上角的 按钮可以把数据从开发机push到模拟器的SD卡。相反如果需要可以使用 按钮把文件从模拟器pull开发机中。

android多媒体开发--本地音频文件播放

图12-7 File Explorer
                                                      出自《Android开发案例驱动教程》