2011-09-10 112 views
1

我正在android中工作。我正在創建一個運行音頻文件的mediaPlayer。我有10個按鈕。我已爲每個按鈕分配不同的網址。所以當我按下按鈕1時,相對於按鈕1的URL的歌曲正在播放。然後我點擊第二個按鈕,然後按鈕2的歌曲也與樂曲1.打不過我想停止歌曲按鈕1當我按下按鈕2如何停止已經運行的mediaPlayer並創建新的mediaPlayer?

這是我使用這個功能的代碼: -

public void onClick(View v) 
{ 

     MediaPlayer mediaPlayer=new MediaPlayer(); 

     if (mediaPlayer.isPlaying()) 
     { 
      mediaPlayer.stop(); 
      mediaPlayer.release(); 

     } 

     int i = Integer.parseInt((v.getTag()).toString()); 
     String str=urls[i]; 
     try { 




       mediaPlayer.setDataSource(str); 
     mediaPlayer.prepare(); 
     mediaPlayer.start(); 

     } catch (Exception e) 
       { 
       e.printStackTrace(); 
     } 

    } 

請檢查我的代碼,讓我知道什麼是我做的錯誤。

回答

4

你必須構建每次 MediaPlayer對象的用戶點擊查看

怎麼可能會處於運行狀態!

調用MediaPlayer對象是在THRE 結束狀態 一旦MediaPlayer對象處於結束狀態上release()方法,可以不再被使用,並且沒有辦法將其帶回任何其它狀態。

,但如果你想重用一個MediaPlayer對象應該叫 呼叫以相同的順序

reset() 以下方法使媒體播放器進入空閒狀態

setDataSource() 設置數據源注意:mediaplayer應該在空閒狀態

prepare()

start()