啥也不说了,上代码
package com.media;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MediaPlayerDemo extends Activity implements
MediaPlayer.OnCompletionListener {
private Button btnPlay, btnPause, btnStop;
private MediaPlayer mMediaPlayer;
String mFileName = Environment.getExternalStorageDirectory()
.getAbsolutePath()
+ "/tyms.amr";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnPlay = (Button) findViewById(R.id.play);
btnPause = (Button) findViewById(R.id.pause);
btnStop = (Button) findViewById(R.id.stop);
initMediaplayer();
/* 监听播放是否完成 */
mMediaPlayer.setOnCompletionListener(this);
btnPlay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
playMusic();
}
});
btnPause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pauseMusic();
}
});
btnStop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
stopMusic();
}
});
}
@Override
public void onDestroy() {
super.onDestroy();
destoryMusic();
}
@Override
public void onCompletion(MediaPlayer mediaplayer) {
// destoryMusic();
stopMusic();
}
// 初始化播放器
private void initMediaplayer() {
if (mMediaPlayer != null) {
mMediaPlayer.reset();
mMediaPlayer.release();
mMediaPlayer = null;
}
mMediaPlayer = new MediaPlayer();
}
// 销毁音乐
private void destoryMusic() {
if (mMediaPlayer != null) {
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = null;
}
}
// 暂停播放
private void pauseMusic() {
if (mMediaPlayer.isPlaying()) {// 正在播放
mMediaPlayer.pause();// 暂停
} else {// 没有播放
mMediaPlayer.start();
}
}
// 停止播放
private void stopMusic() {
if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
}
}
// 播放音乐
private void playMusic() {
try {
/* 重置多媒体 */
mMediaPlayer.reset();
/* 读取mp3文件 */
mMediaPlayer.setDataSource(mFileName);
/* 准备播放 */
mMediaPlayer.prepare();
/* 开始播放 */
mMediaPlayer.start();
/* 是否单曲循环 */
mMediaPlayer.setLooping(false);
} catch (IOException e) {
e.printStackTrace();
}
}
}
加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在sd卡的根目录下放一个tyms.amr音频文件。amr格式的文件可以在微信或者手机QQ相关保存音频的文件夹下找到,比如我的手机在:sdcard/tencent/MobileQQ/313984509/ptt下面 这两个软件传输的音频文件都是amr格式。是nokia当年商业化的一个产物和一个标准。性价比很高,几乎一秒钟一KB。