现在的位置: 首页 > 综合 > 正文

android游戏开发—02—背景音乐mediaPlayer

2013年01月11日 ⁄ 综合 ⁄ 共 3747字 ⁄ 字号 评论关闭
  1. 废话不多说,直接上代码,很简单的例子程序,根据拖动,可是实现歌曲的不同位置的播放。  
  1. package mars.com;  
  2.   
  3. import android.app.Activity;  
  4. import android.media.MediaPlayer;  
  5. import android.media.MediaPlayer.OnCompletionListener;  
  6. import android.os.AsyncTask;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.view.View.OnClickListener;  
  10. import android.widget.Button;  
  11. import android.widget.SeekBar;  
  12. import android.widget.SeekBar.OnSeekBarChangeListener;  
  13. import android.widget.TextView;  
  14.   
  15. public class DemoMP3Activity extends Activity {  
  16.     private Button play;  
  17.     private Button pause;  
  18.     private Button stop;  
  19.     private TextView info;  
  20.     private SeekBar seekBar;  
  21.     private MediaPlayer mediaPlayer;  
  22.     private boolean isPlay = true;// 播放标记  
  23.     private boolean isPause = false;// 暂停标记  
  24.   
  25.     @Override  
  26.     public void onCreate(Bundle savedInstanceState) {  
  27.         super.onCreate(savedInstanceState);  
  28.         setContentView(R.layout.main);  
  29.         info = (TextView) findViewById(R.id.textView1);  
  30.         play = (Button) findViewById(R.id.button1);  
  31.         pause = (Button) findViewById(R.id.button2);  
  32.         stop = (Button) findViewById(R.id.button3);  
  33.         seekBar = (SeekBar) findViewById(R.id.seekBar1);  
  34.   
  35.         this.play.setOnClickListener(new OnClickListener() {  
  36.             public void onClick(View v) {  
  37.                 mediaPlayer = MediaPlayer.create(getApplicationContext(),  
  38.                         R.raw.bird);  
  39.                 if (mediaPlayer != null) {  
  40.                     mediaPlayer.stop();  
  41.                 }  
  42.                 seekBar.setMax(mediaPlayer.getDuration());// 设置拖拽条的长度  
  43.                 UpdateThread update = new UpdateThread();  
  44.                 update.execute(1000);// 每一秒就更新一次进度条  
  45.                 DemoMP3Activity.this.mediaPlayer  
  46.                         .setOnCompletionListener(new OnCompletionListener() {  
  47.                             public void onCompletion(MediaPlayer mp) {  
  48.                                 // 如果播放完了  
  49.                                 isPlay = false;  
  50.                                 mediaPlayer.release();// 释放资源  
  51.                             }  
  52.                         });  
  53.                 try {  
  54.                     mediaPlayer.prepare();  
  55.                     mediaPlayer.start();  
  56.                     info.setText("正在播放");  
  57.                 } catch (Exception e) {  
  58.                     info.setText(e.toString());  
  59.                 }  
  60.             }  
  61.         });  
  62.   
  63.         this.pause.setOnClickListener(new OnClickListener() {  
  64.             public void onClick(View v) {  
  65.                 if (mediaPlayer != null) {  
  66.                     if (isPause == false) {  
  67.                         mediaPlayer.pause();  
  68.                         isPause = true;  
  69.                         info.setText("暂停播放");  
  70.                     } else {  
  71.                         mediaPlayer.start();  
  72.                         isPause = false;  
  73.                         info.setText("继续播放");  
  74.                     }  
  75.                 }  
  76.             }  
  77.         });  
  78.   
  79.         this.stop.setOnClickListener(new OnClickListener() {  
  80.             public void onClick(View v) {  
  81.                 if (mediaPlayer != null) {  
  82.                     mediaPlayer.stop();  
  83.                     info.setText("停止播放");  
  84.                 }  
  85.             }  
  86.         });  
  87.   
  88.         this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {  
  89.             public void onStopTrackingTouch(SeekBar seekBar) {  
  90.                 mediaPlayer.seekTo(seekBar.getProgress());  
  91.             }  
  92.   
  93.             public void onStartTrackingTouch(SeekBar seekBar) {  
  94.   
  95.             }  
  96.   
  97.             public void onProgressChanged(SeekBar seekBar, int progress,  
  98.                     boolean fromUser) {  
  99.   

抱歉!评论已关闭.