全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

简单实现Android本地音乐播放器

音乐播放需要调用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小时内与您取得联系。