(总结《第一行代码》的播放音频)
这种只是能对指定的一首音频文件进行播放。
先看运行效果
代码相对还是比较简单的,需要注意的是,在运行程序之前,要在根目录下面放个名字为“music.mp3”的音频文件。
public class MainActivity extends ActionBarActivity implements OnClickListener{ private Button play; private Button pause; private Button stop; private MediaPlayer mediaPlayer =new MediaPlayer(); @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); stop=(Button)findViewById(R.id.stop); play.setOnClickListener(this); pause.setOnClickListener(this); stop.setOnClickListener(this); //初始化MediaPlay initMediaPlayer(); } private void initMediaPlayer(){ try { //手机sd卡的根目录,作为“music.mp3”存储路径 File file=new File(Environment.getExternalStorageDirectory(),"music.mp3"); //将file的存储路径赋给meidaPlayer mediaPlayer.setDataSource(file.getPath()); //准备完成 mediaPlayer.prepare(); } catch (Exception e) { e.printStackTrace(); } } @Override public void onClick(View v) { switch (v.getId()) { //开始播放 case R.id.play: if (!mediaPlayer.isPlaying()) { mediaPlayer.start(); } break; //暂停,当点击play按钮时再次播放,会从上次暂停的位置开始播放 case R.id.pause: if (mediaPlayer.isPlaying()) { mediaPlayer.pause(); } break; //停止播放,当点击play按钮时,会重新播放音乐 case R.id.stop: if (mediaPlayer.isPlaying()) { mediaPlayer.stop(); } break; default: break; } } @Override protected void onDestroy() { super.onDestroy(); if (mediaPlayer!=null) { //将与MediaPlay相关的资源释放掉 mediaPlayer.stop(); mediaPlayer.release(); } } }
时间: 2024-12-24 03:47:01