音乐播放需要调用service,在此,只是简单梳理播放流程。
public class PlayMusicService extends Service {
//绑定服务 调用服务的方法。
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<EditText
android:id="@+id/et_path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="请输入要播放文件的路径" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/bt_play"
android:onClick="play"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="播放" />
<Button
android:id="@+id/bt_pause"
android:onClick="pause"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="暂停" />
<Button
android:id="@+id/bt_stop"
android:onClick="stop"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="停止" />
<Button
android:id="@+id/bt_replay"
android:onClick="replay"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="重播" />
</LinearLayout>
</LinearLayout>
public class MainActivity extends Activity {
private EditText et_path;
private MediaPlayer mediaPlayer;
private Button bt_play,bt_pause,bt_stop,bt_replay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_path = (EditText) findViewById(R.id.et_path);
bt_play = (Button) findViewById(R.id.bt_play);
bt_pause = (Button) findViewById(R.id.bt_pause);
bt_stop = (Button) findViewById(R.id.bt_stop);
bt_replay = (Button) findViewById(R.id.bt_replay);
}
/**
* 播放
* @param view
*/
public void play(View view) {
String filepath = et_path.getText().toString().trim();
File file = new File(filepath);
if(file.exists()){
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(filepath);//设置播放的数据源。
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();//准备开始播放 播放的逻辑是c代码在新的线程里面执行。
mediaPlayer.start();
bt_play.setEnabled(false);
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
bt_play.setEnabled(true);
}
});
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "播放失败", 0).show();
}
}else{
Toast.makeText(this, "文件不存在,请检查文件的路径", 0).show();
}
}
/**
* 暂停
* @param view
*/
public void pause(View view) {
if("继续".equals(bt_pause.getText().toString())){
mediaPlayer.start();
bt_pause.setText("暂停");
return;
}
if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
mediaPlayer.pause();
bt_pause.setText("继续");
}
}
/**
* 停止
* @param view
*/
public void stop(View view) {
if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
bt_pause.setText("暂停");
bt_play.setEnabled(true);
}
/**
* 重播
* @param view
*/
public void replay(View view) {
if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
mediaPlayer.seekTo(0);
}else{
play(view);
}
bt_pause.setText("暂停");
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android本地音乐播放器
# Android音乐播放器
# Android播放器
# Android实现简单音乐播放器(MediaPlayer)
# Android简易音乐播放器实现代码
# 教你轻松制作Android音乐播放器
# android暂停或停止其他音乐播放器的播放实现代码
# Android编程开发音乐播放器实例
# Android音乐播放器制作 扫描本地音乐显示在手机(一)
# android实现音乐播放器进度条效果
# Android MediaPlayer实现音乐播放器实例代码
# Android 音乐播放器的开发实例详解
# Android实现简单的音乐播放器
# 在此
# 请输入
# 不存在
# 绑定
# 大家多多
# 音乐播放
# 请检查
# MainActivity
# context
# vertical
# id
# EditText
# gt
# orientation
# tools
# res
# apk
# layout_height
# match_parent
# layout_width
相关文章:
如何在IIS中新建站点并配置端口与IP地址?
制作网站的模板软件,网站怎么建设?
如何通过虚拟主机快速完成网站搭建?
建站DNS解析失败?如何正确配置域名服务器?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
微信小程序 input输入框控件详解及实例(多种示例)
TestNG的testng.xml配置文件怎么写
高防服务器租用如何选择配置与防御等级?
如何快速辨别茅台真假?关键步骤解析
C++时间戳转换成日期时间的步骤和示例代码
建站之星免费模板:自助建站系统与智能响应式一键生成
为什么Go需要go mod文件_Go go mod文件作用说明
如何通过可视化优化提升建站效果?
如何制作一个表白网站视频,关于勇敢表白的小标题?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
佛山网站制作系统,佛山企业变更地址网上办理步骤?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
建站主机核心功能解析:服务器选择与网站搭建流程指南
建站主机选择指南:服务器配置与SEO优化实战技巧
零基础网站服务器架设实战:轻量应用与域名解析配置指南
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何在IIS服务器上快速部署高效网站?
制作旅游网站html,怎样注册旅游网站?
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何高效配置香港服务器实现快速建站?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
山东云建站价格为何差异显著?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
安徽网站建设与外贸建站服务专业定制方案
建站之星免费版是否永久可用?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
如何做网站制作流程,*游戏网站怎么搭建?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
详解jQuery停止动画——stop()方法的使用
如何安全更换建站之星模板并保留数据?
如何在阿里云虚拟主机上快速搭建个人网站?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
如何获取开源自助建站系统免费下载链接?
红河网站制作公司,红河事业单位身份证如何上传?
如何用AWS免费套餐快速搭建高效网站?
怀化网站制作公司,怀化新生儿上户网上办理流程?
贸易公司网站制作流程,出口贸易网站设计怎么做?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何通过wdcp面板快速创建网站?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
*请认真填写需求信息,我们会在24小时内与您取得联系。