您的位置:首页 > 移动开发 > Android开发

Android开发之播放音频

2016-03-13 19:33 405 查看
布局文件 ,MediaPlayer类,自己看API文档

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/play"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Play"
/>
<Button
android:id="@+id/pause"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Pause"
/>
<Button
android:id="@+id/stop"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Stop"
/>

</LinearLayout>


MainActivity.java

package com.example.playaudiotest;

import java.io.File;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity 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);
initMediaPlayer(); //初始化 MediaPlayer
}

private void initMediaPlayer()
{
try{
File file=new File(Environment.getExternalStorageDirectory(),"music.mp3");
mediaPlayer.setDataSource(file.getPath());//指定音频文件的路径
mediaPlayer.prepare();// 让MediaPlayer进入到准备状态
}catch(Exception e){
e.printStackTrace();
}
}
public void onClick(View v){
switch(v.getId()){
case R.id.play:
if(!mediaPlayer.isPlaying()){
mediaPlayer.start(); //开始播放
}
break;
case R.id.pause:
if(mediaPlayer.isPlaying()){
mediaPlayer.reset(); //暂停播放
}
break;
case R.id.stop:
if(mediaPlayer.isPlaying()){
mediaPlayer.reset(); //停止播放
initMediaPlayer();
}
break;
default:
break;
}
}
protected void onDestroy(){
super.onDestroy();
if(mediaPlayer!=null){
if(mediaPlayer!=null){
mediaPlayer.stop();
mediaPlayer.release();
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: