音频播放主要api

  MediaPlayer. setDataSource

  MediaPlayer.prepare

  MediaPlayer.start

  MediaPlayer.stop

示例

  1 import android.app.Activity;
  2 import android.media.MediaPlayer;
  3 import android.media.MediaPlayer.OnCompletionListener;
  4 import android.os.Bundle;
  5 import android.view.View;
  6 import android.view.View.OnClickListener;
  7 import android.widget.Button;
  8 
  9 /*
 10  * 播放音频示例
 11  */
 12 
 13 public class Main extends Activity  implements OnClickListener,OnCompletionListener
 14 {
 15     /*
 16      * 不需要权限
 17      */
 18     //播放音频 第1步,OnCompletionListener 播放完成接口
 19     
 20     //播放音频 第2步, 声明相关成员
 21     private MediaPlayer mediaPlayer;//用来播放音频文件
 22     private Button btnPause;
 23     @Override
 24     public void onCreate(Bundle savedInstanceState)
 25     {
 26         super.onCreate(savedInstanceState);
 27         setContentView(R.layout.main);
 28         
 29         
 30         //播放音频 第3步,播放相关的按钮
 31         Button btnStart1 = (Button)findViewById(R.id.btnStart1);//播放资源目录raw下音频文件
 32         Button btnStart2 = (Button)findViewById(R.id.btnStart2);//播放SD卡上的音频文件(/sdcard/music.mp3)
 33         
 34         Button btnStop = (Button)findViewById(R.id.btnStop);
 35         
 36         btnPause = (Button)findViewById(R.id.btnPause);
 37         
 38         btnStart1.setOnClickListener(this);
 39         btnStart2.setOnClickListener(this);
 40         btnStop.setOnClickListener(this);
 41         btnPause.setOnClickListener(this);
 42         
 43     }
 44     /*
 45      * 播放按钮事件. 
 46      */
 47     //播放音频 第4步,开始播放,这里有两种情况,播放raw下的,和sdcard下的
 48     public void onClick(View view)
 49     {
 50         try
 51         {
 52             switch (view.getId()) {
 53             case R.id.btnStart1:  
 54                 /*
 55                  * 播放资源目录raw下音频文件
 56                  * 注意raw下的音频文件可直接播放,不用先找到raw目录,
 57                  * raw下的资源直接打包到应用目录下.
 58                  */
 59                 
 60                 //播放raw下音频 第1步, 构造MediaPlayer
 61                 mediaPlayer = MediaPlayer.create(this, R.raw.music);
 62                 
 63                 //播放raw下音频 第2步,设置回调接口
 64                 mediaPlayer.setOnCompletionListener(this);
 65                 
 66                 //播放raw下音频 第3步,开始播放,注意,raw下的不用prepare,sd 卡下的才用prepare
 67                 //MediaPlayer.create(this, R.raw.music)内已经prepare
 68                 mediaPlayer.start();
 69                 
 70                 break;
 71             case R.id.btnStart2://播放SD卡上的音频文件(/sdcard/music.mp3)
 72                 
 73                 //播放sdcard下音频 第1步,构造MediaPlayer
 74                 mediaPlayer = new MediaPlayer();
 75                 //播放sdcard下音频 第2步
 76                 mediaPlayer.setDataSource("/sdcard/music.mp3");
 77                 //播放sdcard下音频 第3步
 78                 mediaPlayer.prepare();
 79                 //播放sdcard下音频 第4步
 80                 mediaPlayer.start();
 81                 break;
 82             case R.id.btnPause:
 83                 //播放音频 第5步,暂停
 84                 if(mediaPlayer != null)
 85                 {
 86                     if("播放".equals(btnPause.getText().toString()))
 87                     {
 88                         mediaPlayer.start();
 89                         btnPause.setText("暂停");
 90                         
 91                     }
 92                     else if("暂停".equals(btnPause.getText().toString()))
 93                     {
 94                         mediaPlayer.pause();
 95                         btnPause.setText("播放");
 96                     }
 97                 }
 98                 break;
 99             case R.id.btnStop:
100                 //播放音频 第6步,停止
101                 if(mediaPlayer != null)
102                 {
103                     if(mediaPlayer.isPlaying())
104                         mediaPlayer.stop();
105                 }
106                 break;
107             default:
108                 break;
109             }
110         }
111         catch (Exception e) {
112         }
113     }
114     
115     /*
116      * from  OnCompletionListener 播放完成接口
117      * 播放完成回调 
118      */
119     //播放音频 第7步,播放完毕,释放资源
120     @Override
121     public void onCompletion(MediaPlayer mp)
122     {
123         mp.release();
124         setTitle("资源已经释放");
125     }
126 }

 

相关文章:

  • 2021-12-23
  • 2022-01-01
  • 2021-12-04
  • 2021-12-27
  • 2022-01-08
  • 2021-05-07
  • 2021-04-30
猜你喜欢
  • 2021-11-30
  • 2021-05-29
  • 2021-07-20
  • 2021-12-07
  • 2022-12-23
相关资源
相似解决方案