使用MediaPlayer播放、暂停、停止音乐
2016-05-18 10:58
351 查看
package com.pingyijinren.test; import android.media.MediaPlayer; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import java.io.File; import java.io.IOException; public class MainActivity extends AppCompatActivity{ private Button play; private Button pause; private Button reset; private MediaPlayer mediaPlayer; private File file; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); play=(Button)findViewById(R.id.play); pause=(Button)findViewById(R.id.pause); reset=(Button)findViewById(R.id.reset); mediaPlayer=new MediaPlayer(); try{ file=new File(Environment.getExternalStorageDirectory()+"/netease/cloudmusic/Music/Apnea - Tongue.mp3"); mediaPlayer.setDataSource(file.getPath()); mediaPlayer.prepare(); } catch(IOException e){ Toast.makeText(this,"音乐不存在!",Toast.LENGTH_SHORT).show(); } play.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); } } }); pause.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mediaPlayer.isPlaying()){ mediaPlayer.pause(); } } }); reset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mediaPlayer.isPlaying()){ mediaPlayer.reset(); try{ mediaPlayer.setDataSource(file.getPath()); mediaPlayer.prepare(); } catch(IOException e){} } } }); } @Override public void onDestroy(){ super.onDestroy(); if(mediaPlayer!=null){ mediaPlayer.stop(); mediaPlayer.release(); } } }
相关文章推荐
- kafka与streaming集成两种方式
- HDU 1757 A Simple Math Problem(矩阵快速幂)
- 无法嵌入互操作类型
- getFields()和getDeclaredFields()
- 异常的注意事项
- 【C#】调度程序进程已挂起,但消息仍在处理中;
- “小马激活”病毒新变种分析报告
- iOS开发获取通讯录用户名和手机号
- Tensorflow学习笔记(3)
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- Tensorflow学习笔记(2)
- Tesorflow学习笔记(1)
- tensorflow常用函数记录
- java后台获取request,response
- java中的matches()方法
- 几种开发者常见的开源软件协议的分析与介绍
- Java多线程中提到的原子性和可见性、有序性
- 重写、覆盖、重载、多态的区别的分析
- jquery param 数组 带有 %5B%5D [] 问题
- 版本更新2