Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android多媒體播放之音樂播放狀態和步驟

Android多媒體播放之音樂播放狀態和步驟

編輯:關於Android編程

多媒體播放的狀態圖:

\

音樂播放狀態:Idle--setDataSource()-->Initialized--prepare()-->Prepared--start()-->Started[-->stZ喎?/kf/ware/vc/" target="_blank" class="keylink">vcCgpLS0+U3RvcGVkXS0tcGF1c2UoKS0tPlBhdXNlZC0tc3RhcnQoKS0tPlN0YXJ0ZWQuLi48YnI+CjwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">public class MainActivity extends Activity implements OnClickListener { private Button start, pause, stop, restart; private MediaPlayer player; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start = (Button) findViewById(R.id.bt_start); pause = (Button) findViewById(R.id.bt_pause); stop = (Button) findViewById(R.id.bt_stop); restart = (Button) findViewById(R.id.bt_restart); start.setOnClickListener(this); pause.setOnClickListener(this); stop.setOnClickListener(this); restart.setOnClickListener(this); initMediaPlayer(); } private void initMediaPlayer() { // TODO Auto-generated method stub //初始化多媒體播放 player = new MediaPlayer(); try { //設置播放的音樂文件(這裡指定為sdcard的根目錄下的smile.mp3音樂文件) player.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + "/smile.mp3"); //准備就緒 player.prepare(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //音樂播放完畢執行的方法 player.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "播放完畢!", 0).show(); } }); //音樂播放出錯所執行的方法 player.setOnErrorListener(new OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "播放出錯!", 0).show(); return false; } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.bt_start: //播放音樂 player.start(); break; case R.id.bt_pause: //暫停播放 player.pause(); break; case R.id.bt_stop: //停止播放 player.stop(); break; case R.id.bt_restart: try { //重新開始播放,先設置到准備就緒狀態 player.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } player.seekTo(0);//設置從頭開始播放 player.start();//開始播放音樂 break; default: break; } } }

		//音頻播放常用方法:
		player.reset();//重置player
		player.release();//釋放player
		player.setLooping(true);//設置是否循環播放
		player.getDuration();//獲取音樂播放時長
		player.getCurrentPosition();//獲取當前播放的位置的時間
		player.seekTo(10);//跳到指定的時間播放
		player.isLooping();//獲取當前播放音樂是否循環播放
		player.isPlaying();//獲取當前播放器是否正在播放
		
		setOnCompletionListener() onCompletion(MediaPlayer mp)mp;//音樂播放完畢執行的方法
		setOnErrorListener() onError() //音樂播放出錯所執行的方法


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved