android音乐播放demo

一个播放器基本上就有那几个功能:

1.播放

2.暂停

3.停止

4.调高音量

5.调低音量

在android系统里已经在写好这些功能实现的方法,对开发者只需要调用他的对象及方法就可以轻松实现以上这些功能,下面我就用代码来把他们一一实现。在开始写代码前先创建一个虚拟SD卡,并在SD卡里放放一个mp3格式的文件mxsf.mp3

import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
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;


public class MainActivity extends Activity implements OnClickListener{
private Button btn_play;
private Button btn_stop;
private Button btn_pause;
private Button btn_upVolume;
private Button btn_downVolume;
private MediaPlayer mediaPlayer;
private AudioManager audio;
private int position=0;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mediaPlayer=new MediaPlayer(); //实例化播放器对象
        audio=(AudioManager) getSystemService(AUDIO_SERVICE); //获取系统音频管理器
        
        findViews();
        setListeners();
    }
    
    //设置监听器
    private void setListeners() {
    btn_play.setOnClickListener(this);
    btn_stop.setOnClickListener(this);
    btn_pause.setOnClickListener(this);
    btn_upVolume.setOnClickListener(this);
    btn_downVolume.setOnClickListener(this);
}
   
    //初始化UI
    
private void findViews() {
    btn_play=(Button) findViewById(R.id.btn_play);
    btn_stop=(Button) findViewById(R.id.btn_stop);
    btn_pause=(Button) findViewById(R.id.btn_pause);
    btn_upVolume=(Button) findViewById(R.id.btn_upVolume);
    btn_downVolume=(Button) findViewById(R.id.btn_downVolume);
}


/*监听器事件*/
    @Override
public void onClick(View v) {
 switch (v.getId()) {
case R.id.btn_play:
playmuisic(); //播放
break;

case R.id.btn_pause:
mediaPlayer.pause(); //暂停
position=mediaPlayer.getCurrentPosition(); //记录当前位置
break;

case R.id.btn_stop:
mediaPlayer.stop(); //停止
break;

case R.id.btn_upVolume:
//调高音量
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 0);
break;

case R.id.btn_downVolume:
//调低音量
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, 0);
break;

}

}

   
private void playmuisic(){
/*要播放的文件*/
 File file=new File(Environment.getExternalStorageDirectory()+"/muisic/mxsf.mp3");
 
 Log.i("hgq", file.getAbsolutePath()); //检查播放文件路径是否正确
 
 try {
 
  mediaPlayer.reset(); //重置为初始状态
mediaPlayer.setDataSource(file.getAbsolutePath()); //设置要播放的文件
mediaPlayer.prepare(); //数据缓冲
mediaPlayer.start();   //开始播放
mediaPlayer.seekTo(position); //从某个位置开始播放
position=0; //播放完毕之后播放位置恢复为0

} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值