使用MediaPlayer播放音频

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
使用MediaPlayer播放音频示例
4.在onCreate()方法中,首先获取“播放”按钮等三个按钮和现实提示信息的文
本框,然后获取要播放的文件,最后判断该文件是否存在,如果存在则创建一个装
载该文件的MediaPlayer对象,否则,现实提示信息,并设置“播放”按钮不可用:
final Button button1 = (Button) findViewById(R.id.button1); // 获取播放按钮 final Button button2 = (Button) findViewById(R.id.button2); // 获取“暂停/继续”按钮 inal Button button3 = (Button) findViewById(R.id.button3); // 获取“停止”按钮 hint = (TextView) findViewById(R.id.hint); // 获取用户显示提示信息的文本框 file = new File("/sdcard/ninan.mp3"); // 获取要播放的文件
2
如何使用MediaPlayer
使用MediaPlayer播放音频的步骤: 1.创建MediaPlayer对象 2.设置播放器重新回到idle(空闲)状态 3.指定要播放的音频文件路径 ( 内存/SD卡/网络地址 ) 4.设置播放器进入准备状态(MediaPlayer装载音乐) 5.设置播放、暂停、停止播放音乐 6.释放资源
否则调用MediaPlayer对象的start()方法继续播放音乐,并设置相关信息,关键代码如下:
// 为“暂停/继续”按钮添加单击事件监听器
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Android应用开发技术课程开发组
// 播放音乐的方法 private void play() { try {
player.reset(); player.setDataSource(file.getAbsolutePath()); // 重新设置要播放的音频 player.prepare(); // 预加载音频 player.start(); // 开始播放 hint.setText("正在播放音频..."); } catch (Exception e) { e.printStackTrace(); // 输出异常信息 } }
解释 得到当前播放的位置 得到文件的总时长 设置播放的指定位置(单位毫秒) 设置是否循环播放 判断是否循环播放
8
使用MediaPlayer播放音频示例
1.将要播放的音频文件上传到SD卡的根目录中,这里要播放的音 频文件为ninan.mp3。 2. 修改main.xml文件,在默认添加的现行布局管理器中添加一个 水平线性布局管理器,并在其中添加三个按钮,分别为“播放”, “暂停/继续”,“停止”。
player.stop(); // 停止播放; hint.setText("停止播放音频..."); button2.setEnabled(false); // “暂停/继续”按钮不可用 button3.setEnabled(false); // “停止”按钮不可用 button1.setEnabled(true); // “播放”按钮可用
12
使用MediaPlayer播放音频示例
6.为MediaPlayer对象添加完成事件监听器,用于当音乐播放完毕后,重新开始播放 音乐:
// 为MediaPlayer对象添加完成事件监听器 player.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) {
player.stop(); //停止音频的播放
}
player.release();
//释放资源
super.onDestroy();
}
17
知识点小结
通过今天学习: 1.MediaPlayer概述 2.MediaPlayer对象创建与常用方法 3.使用MediaPlayer对象播放音乐
18
感谢您的学习
使用MediaPlayer暂停音频播放: 判断播放器是否处于播放状态
mp.isPlayinຫໍສະໝຸດ Baidu();
设置播放器进入暂停状态
mp.pause();
使用MediaPlayer停止音频播放: 停止播放
mp.stop();
释放资源
mp.release();
6
MediaPlayer的事件监听器
设置方法:
mp.setOnCompletionListener(new OnCompletionListener() {}
} else {
player.start(); // 继续播放
((Button) v).setText("暂停");
hint.setText("继续播放音频...");
IsPause = false;
button1.setEnabled(false); // “播放”按钮不可用
}
}
});
15
使用MediaPlayer播放音频示例
play(); // 重新开始播放 } });
13
使用MediaPlayer播放音频示例
7.为播放按钮添加单击事件监听器,在重写的onClick()方法中,首先调用play() 方法开始播放音乐,然后对isPause进行设置,最后设置各按钮的可用状态:
// 为“播放”按钮添加单击事件监听器
button1.setOnClickListener(new OnClickListener() {
mp.reset();
3.指定要播放的音频文件路径 ( 内存/SD卡/网络地址 )
mp.setDataSource(String path);
4.设置播放器进入准备状态(MediaPlayer装载音乐)
mp.prepare();
5.设置播放、恢复播放音乐
mp.start();
5
MediaPlayer暂停或停止音乐
MediaPlayer mp = new MediaPlayer();
• 使用create()方法创建:系统自带的raw资源文件
MediaPlayer mp = MediaPlayer.create(this,R.raw.video);
4
MediaPlayer开始或恢复播放音乐
使用MediaPlayer播放音频的步骤: 1.创建MediaPlayer对象 2.设置播放器重新回到idle(空闲)状态
if (player.isPlaying() && !isPause) {
player.pause(); // 暂停播放;
isPause = true;
((Button) v).setText("继续");
hint.setText("暂停播放音频...");
button1.setEnabled(true); // “播放”按钮可用
9.为停止按钮添加单击事件监听器,在重写的onClick()方法中,首先调用MediaPlayer对 象的stop()方法,停止播放音频,然后设置提示信息及各按钮的可用状态:
// 为“停止”按钮添加单击事件监听器 button3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {
学习目标
知识目标 1. MediaPlayer概述
01
2. MediaPlayer对象创建与常用方

能力目标 使用MediaPlayer播放音乐
02
1
MediaPlayer的概念
什么是MediaPlayer?
一般来说,基本每一款媒体平台类APP都使用了Android系统提供的 音频类——MediaPlayer,用于控制音频类文件的各种状态。 MediaPlayer的底层实现基础是OpenCore多媒体核心类库。 MediaPlayer包含了Audio(音频)和Video(视频)的播放功能。
11
使用MediaPlayer播放音频示例
5.编写play()方法,该方法没有入口参数的返回值。在该方法中,首先调用
MediaPlayer对象的reset()方法重置MediaPlayer对象,然后重新为其设置要播
放的音频文件,并预加载该音频,最后调用start()方法开始播放音频,并修改提
示信息内容:
@Override
public void onClick(View v) {
play();//开始播放音乐
if (isPause) {
button2.setText("暂停");
isPause = false;
//设置暂停标记变量的值为false
}
button2.setEnabled(true); // “暂停/继续”按钮可用
触发条件: 当播放完成后会被触发 e.g. 播放完一首歌曲后,接着播放下一首
7
MediaPlayer其他常用方法
方法名 getCurrentPosition() getDuration() seekTo(int msec) setLooping(boolean looping) isLooping()
} }); }
16
使用MediaPlayer播放音频示例
10.重写Activity的onDestroy()方法,用于在当前Activity销毁时,停止正在播放的视频, 并释放MediaPlayer所占用的资源:
@Override
protected void onDestroy() {
if(player.isPlaying()){
button3.setEnabled(true); // “停止”按钮可用
button1.setEnabled(false); // “播放”按钮不可用
}
});
14
使用MediaPlayer播放音频示例
8.为“暂停/继续”按钮添加单击事件监听器,在重写的onClick()方法中,如果
MediaPlayer处于播放状态且标记变量isPause值为false,则暂停播放音频,并设置相关信息,
if (file.exists()) { // 如果文件存在 player = MediaPlayer.create(this, Uri.parse(file.getAbsolutePath())); // 创建MediaPlayer对象 } else {
hint.setText("要播放的音频文件不存在!"); button1.setEnabled(false); return; }
3
MediaPlayer对象的创建
对于存储在不同位置的音频文件: 本地音乐是下载到手机中的音频文件,乐库是网络音频文件;下载的音乐存储在机身内 存卡或SD卡中;程序自带的音乐存储在程序的raw资源文件夹中,如播放铃声、游戏音效 的等 对存储在不同位置的音频文件, MediaPlayer使用不同的方法创建MediaPlayer对象 • 使用实例化方式创建:内存、SD卡、网络上的文件
9
使用MediaPlayer播放音频示例
3.打开默认添加的MainActivity,在该类中,定义所需要的成员变量:
private MediaPlayer player; // MediaPlayer对象 private boolean isPause = false; // 是否暂停 private File file; // 要播放的音频文件 private TextView hint; // 声明显示提示信息的文本框
相关文档
最新文档