2014-11-09 61 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

相关问题