2014-11-09 57 views
1

我有兩個mp3文件。我想通過一個文件來播放所有的MP3的一個點擊「播放」按鈕... 時(那意味着palyed 1音頻後,再需要播放第二音頻文件)如何播放所有音頻文件一個一個點擊PLAY按鈕1次

我試過這個代碼。但不工作

package com.example.playaudio; 

    import android.app.Activity; 
    import android.media.AudioManager; 
    import android.media.MediaPlayer; 
    import android.net.Uri; 
    import android.os.Bundle; 
    import android.view.Menu; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 
    import android.widget.TextView; 


public class MainActivity extends Activity implements OnClickListener{ 
private MediaPlayer mp; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    setVolumeControlStream(AudioManager.STREAM_MUSIC); 
    Button button1=(Button)findViewById(R.id.button_1); 
    button1.setOnClickListener(this); 

} 

public void onClick(View v) { 
    int x,y ; 
    x=R.raw.a;   //Mp3 file 1 
    y=R.raw.b;   //Mp3 file 2   

    if (mp != null) { 
     mp.release(); 
    } 

    int z=0; 

    for(int i=0; i<10; i++){    
      mp = MediaPlayer.create(this, x); 
      mp.start(); 

     } 
    } 

@Override 
protected void onDestroy() { 
    if(null!=mp){ 
     mp.release(); 
    } 
    super.onDestroy(); 
} 
} 

請告訴我解決了這個問題

回答

2

嘗試While循環

while(x<10){ 
     //code 
    } 
1

使用使用媒體播放器的默認構造函數來獲得一個MediaPlayer對象的句柄然後加入所有音軌到播放隊列。

MediaPlayer _myPlayer = new MediaPlayer(); 
myPlayer.setDataSource(myContext , myURI); 
myPlayer.start(); 


MediaPlayer _nextPlayer = new MediaPlayer(); 
nextPlayer.setDataSource(myContext , myNextURI); 
myPlayer.setNextMediaPlayer(nextPlayer); 
+0

應該是什麼「myContext」 – sithmal 2014-11-09 11:41:18

+1

它是在其上的MediaPlayer將被運行,在你的情況下,它也只是背景下「本」,因爲你正在播放的媒體播放器上的Mainactivity。 – KillaKem 2014-11-09 11:46:56

+0

在我的情況下,「myURI」和「myNextURI」是什麼?謝謝KillaKem – sithmal 2014-11-09 11:52:43

相關問題