1

だから私はオーディオファイルIDを持つ配列を持っています。ただし、そこにいくつのIDがあるかはユーザーによって異なります(ユーザーが「a」と入力すると、R.raw.aが配列に表示されます)。MediaPlayer を使用して、このサウンドを次々と再生するにはどうすればよいですか。OnCompletionListener を使用する必要があると思いますが、配列にいくつのサウンド ID が含まれるかわかりません。使うべきか

for(){}
4

3 に答える 3

1

OnCompletionListener に MediaPlayer を設定できます

public class MyActivity extends Activity
    implements MediaPlayer.OnCompletionListener {

    MediaPlayer player = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        player = new MediaPlayer();
        player.setOnCompletionListener(this);
        ...
    }

    @Override
    public void onCompletion(MediaPlayer mp) {
        // Called when playback is complete
        //Play a next song
        ...
    }
}

いらっしゃいませ!

于 2012-06-18T12:13:22.453 に答える
1

あなたができることは

//define a variable to be used as index.
int audioindex = 0;
//Extract the files id into an array
int[] audioFileIds=new int[]{R.raw.as,R.raw.bs};

次に、MediaPlayer onCompletionListener次のようなものを入れます。

次に、OnCompletionListener で。

mp.setOnCompletionListener(new OnCompletionListener(){
    // @Override
    public void onCompletion(MediaPlayer player) {
    // File has ended, play the next one.
   FunctionPlayFile(audioFileIds[audioindex]);
   audioindex+=1; //increment the index to get the next audiofile
     }
});
于 2012-06-18T12:22:48.340 に答える
0

IntentService を使用して曲を再生します。インテントサービスを使用して開始されたすべての曲はキューに入れられます。次から次へと再生されます。

于 2012-06-18T12:14:56.103 に答える