概述
上次已经为 Miwok 应用的每个页面的列表项设置了单词图片和 主题色
接下来将 为 所有页面的 单词 和 词组 添加音频播放的功能,使在屏幕中单击 任意一个 单词或词组使,播放对应的音频文件。
不过在此之前,有必要 先创建一个与 Miwok 应用独立开来的 小型音频播放应用。
开发者通常会写一个小应用来测试下新技术,然后将该技术添加到自己的大型应用中。
目标
- 新创建一个小型音频播放应用
- 应用中有一个播放按钮用于播放音频
- 应用中有一个暂停按钮用于暂停播放
- 两个用于快进和后退的按钮
实现过程
应用布局
这个音频播放器的外观和 日常生活中所使用的音乐播放器 类似:
可以看出 音乐播放应用的界面基本分为上下两部分:
上部分显示音乐播放器的 名称和图片,下部分为 音频的控制区域 ,用于控制音频的 播放、暂停、快进、后退,还有一个拖动条 用于实时显示 音频播放的文章。
下部分中还有三个文本其余,用于显示 音频的名称、总时长 和 播放的位置。
媒体播放器
在此之前我并不会在 Android 应用 中 播放 音频,经过在网上查阅之后 发现可以使用 MediaPlayer API 来实现音频的播放等操作,接着再查看 Android MediaPlayer 的相关文档,了解基本的使用方法(相关文章的链接为都放到了文末的参考链接当中)。
在 Android app 中 ,主要使用一下代码实现 音频的播放:
class MainActivity extends Activity {
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.yoursong);
mediaPlayer.start();
}
@Override
protected void onPause() {
super.onPause();
mediaPlayer.stop();
mediaPlayer.release();
}
}
- 2 行,在 Activity 中 声明 一个 MediaPlayer 类型的 媒体播放器 成员变量
- 9 行,创建 MediaPlayer 对象 ,传入 上下文 context 和 音频资源文件的id
- 10 行,启动 媒体播放器,即 开始播放音频
- 13 ~ 18 行,当Activity 被暂停后,关掉 媒体播放器,并释放其占用的内存资源
在 第 9 行 为 媒体播放器 指定音频资源id,使用的是 raw
类型的资源(需要新建),在右侧的 res
目录上鼠标右键 --> 选择 New --> 选择 Android Resource Directory。
接着 在弹出的窗口中 将 Resource type
选成 raw
,这时 Directory name
页面 变成 raw
,最后点击 ok
即可完成 raw 类型资源目录的创建。
然后将音频文件放到 raw 文件夹当中,就可以在代码中以 R.raw.song
的形式来访问 资源ID了。
由于版权原因,不提供任何音频文件。建议自己选择一个 可用且有趣的音频文件,并添加到自己的 Music Player 应用中。
进度条和时间显示
首先获取所有需要用到的控件的视图对象,并设置其初始状态
在 onCreate
方法中添加:
playButton =