今天来看一个关于音乐播放器的Android开发。MediaPlayer类可以用来播放音频,视屏和流媒体,下面我们说一下音频的播放。Medaiplayer有它的生命周期,这个可以到网上找找看看这里简单的一说,任何MediaPlayer对象都必须先处于准备状态,然后才开始播放。要开始播放MediaPlayer对象都必须调用start()方法。并且我们可以通过isPlaying()方法来检测是否正在播放。MediaPlayer对象在播放时可以进行暂停和停止操作分别用pause()方法和stop()方法,处于暂停状态时,我们可以用start()方法来恢复播放,但是当处于停止状态时则必须先调用pause()方法使其处于准备状态,然后再通过start()方法来开始播放,当然我们也可以重新创建一个MediaPlayer来播放。在MediaPlayer中我们有两大设置文件路径的方法,一种是setDataSource(),另一种就是今天用到的create方法来创建一个指定的资源索引的MediaPlayer对象,下面我们就来做一个简单的音乐播放软件步骤如下:
我们要建立一个Android的工程,这个就不废话了,然后在res文件夹下新建立一个raw文件夹,这里注意必须是这个文件名。因为在早期这个好像是和drawable以及layout
文件夹一样自动生成的,现在做了一些变动。然后把我们要的音乐通过复制粘贴到这个文件夹了,这里我们粘贴一个test.mp3的音乐文件(还应注意我们这个音乐文件不能太大,因为它是直接打包到这个软件里的,太大可能无法播放具体原因不是很清楚,但我试过不能成功播放,太大的我们应该放到存储卡里通过setDataSource()来访问,这里不多说了)。
2.在Layout文件夹里布局好三个按钮和一个TextView
import java.io.IOException;
import java.nio.channels.IllegalSelectorException
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.*;
public class Activity01 extends Activity {
Button StopButton;
Button StartButton;
Button PauseButton;
TextView mTextView;
boolean bIsReleased = false;
boolean bIsPaused = false;
boolean bIsPlaying = false;
MediaPlayer
MediaPlayer();
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StopButton = (Button) this.findViewById(R.id.button1);
StopButton .setText("停止");
StartButton = (Button )this.findViewById(R.id.button2);
StartButton.setText("开始");
PauseButton = (Button)this.findViewById(R.id.button3);
PauseButton.setText("暂停");
mTextView = (TextView) this.findViewById(R.id.textView1);
StartButton.setOnClickListener(new Button.OnClickListener(){
onClick(View v) {
{
= true;
mMediaPlayer = MediaPlayer.create(Activity01.this,
R.raw.test);
= false;
//
//播放对象准备就绪
e){
e){
//开始播放
catch(IllegalStateException e){
//这里是一个音乐播放完事件的方法,告诉播放器音乐播放完了该干什么,必须有这个函数
void onCompletion(MediaPlayer mp) {
//停止音乐
Button.OnClickListener(){
void onClick(View v) {
//释放对象资源
= true;
= false;
});
PauseButton.setOnClickListener(new Button.OnClickListener(){
onClick(View v) {
if(mMediaPlayer != null)
{
mMediaPlayer.pause();
true;
true;
mTextView.setText("已经暂停,请再按一下暂停按钮恢复播放");
==true)
//音乐重新播放
mMediaPlayer.start();
false;
mTextView.setText("音乐恢复播放");
}
});
event)
KeyEvent.KEYCODE_BACK:
=
true;
event);
}
1056255918
,小编会及时解决,也希望与喜欢Java和Android的童鞋一起交流合作。谢谢