安卓媒体播放器实现音乐播放器
1、布局文件
Android : layout _ width=' fill _ parent '
Android : layout _ height=' fill _ parent '
Android : orientation=' vertical '
android:id='@ id/hint '
安卓: layout _ width=' wrap _ content '
Android : layout _ height=' wrap _ content '
安卓: padding=' 10px '
android:text='单击“开始”按钮播放音频' /
Android : id=' @ id/linear layout1'
Android : layout _ width=' match _ parent '
Android : layout _ height=' wrap _ content '
android:id='@ id/button1'
安卓: layout _ width=' wrap _ content '
Android : layout _ height=' wrap _ content '
android:text='播放' /
android:id='@ id/button2'
安卓: layout _ width=' wrap _ content '
Android : layout _ height=' wrap _ content '
安卓: enabled=' false '
Android :文本='暂停' /
android:id='@ id/button3'
安卓: layout _ width=' wrap _ content '
Android : layout _ height=' wrap _ content '
安卓: enabled=' false '
Android :文本='停止' /
2、主活动成员变量
私人媒体播放器播放器;//媒体播放器对象
私密布尔is pause=false; //是否暂停
私有文件文件; //要播放的音频文件
私有文本视点hint; //声明显示提示信息的文本框
3、onCreate (用方法获取组件
finalbuttonbutton1=(button ) findviewbyid(r.id.button1); //获取“播放”按钮
finalbuttonbutton2=(button ) findviewbyid(r.id.button2); //获取“暂停/继续”按钮
finalbuttonbutton3=(button ) findviewbyid(r.id.button3); //获取“停止”按钮
hint=(textview ) findviewbyid ) r.id.hint; //获取用于显示提示信息的文本框
file=new file (/storage/emulated/0/QQ music/song /大气大炮-高核桃仁(MQms2 ).MP3 ); //获取要播放的文件
if(file.exists () ) )。
player=mediaplayer.create(this,uri.parse ) file.getabsolutepath ) ); 制作媒体播放器并独占
}else{
hint.setText ('要播放的音频文件不存在!' );
button1.已启用(false );
返回;
}
4、play (创建方法
私密void play (
try {
player.reset (;
player.setdata source (file.getabsolutepath ) ); //重置要播放的音频
player.prepare (; //预加载音频
player.start (; //开始广播
hint.setText ('正在播放音频……);
}catch(exceptione ) {
e .打印堆栈跟踪(;
}
}
5、在MediaPlayer对象中添加拦截事件,播放结束后播放
player.setoncompletionlistener (newoncompletionlistener () )。
@Override
publicvoidoncompletion (媒体播放器MP ) {
游戏(); //重新开始播放
}
);
6、添加点击事件侦听器进行播放
button1. setonclicklistener (newonclicklistener ) )。
@Override
公共语音在线(查看) {
游戏(); //开始播放音乐
if(ispause ) {
button2.setText ('暂停');
isPause=false; //将暂停标志变量的值设为false
}
button2. setenabled (真; //可以使用“暂停/恢复”按钮
button3. setenabled (真; //可以使用“停止”按钮
button1.已启用(false ); //“播放”按钮不可用
}
);
7、向“暂停/恢复”按钮添加单击事件侦听器
button2. setonclicklistener (newonclicklistener ) )。
@Override
公共语音在线(查看) {
if(player.isplaying (! isPause ()。
player.pause (; //暂停播放
isPause=true;
(Button ).setText ) ) '继续);
hint.setText ('暂停音频. ';
button1.已启用(true ); //可以使用“播放”按钮
}else{
player.start (; //继续播放
() Button ).setText ) )暂停);
hint.setText ('正在播放音频.');
isPause=false;
button1.已启用(false ); //“播放”按钮不可用
}
}
);
8 .停止按钮
button3. setonclicklistener (newonclicklistener ) )。
@Override
公共语音在线(查看) {
player.stop (; //停止播放
hint.setText ('停止播放音频.');
button2.已启用(false ); //“暂停/继续”按钮不可用
button3.已启用(false ); //“停止”按钮不可用
button1.已启用(true ); //可以使用“播放”按钮
}
);
9、Activity的onDestroy ) )改写方法
@Override
保护性void on destroy
if(player.isplaying () ) () () ) ) ) )。
player.stop (; //停止播放音频
}
player.release (; //释放资源
super.onDestroy (;
}
感谢您的阅读。 希望对大家有帮助。 感谢您对本网站的支持。