0

2 つの mp3 ファイルを再生したいアプリを開発しています。1 つはバックグラウンド ミュージックで、もう 1 つは 20 秒後に再生されます。

    mediaPlayer = MediaPlayer.create(this, R.raw.testsong_20_sec); 
    mediaPlayer1 = MediaPlayer.create(this,R.raw.sound3 ); 
    private void buttonClick(){

    if (buttonPlayStop.getText() == getString(R.string.play_str)) {

    buttonPlayStop.setText(getString(R.string.pause_str));

    try
    {
    mediaPlayer.start();
    mediaPlayer1.start();

    startPlayProgressUpdater();
    }
    catch (IllegalStateException e) {
    mediaPlayer.pause();
    }

    } 
4

2 に答える 2

0

MediaPlayerバックグラウンド ミュージックの再生などに使用しSoundPoolます。

于 2012-11-08T07:38:07.587 に答える
0

スレッドでこのコードを使用すると、Mediaplayer で 2 つのファイルを再生できます (これには UI スレッドを使用しないでください)。

mediaplayer = new MediaPlayer();

mediaplayer.reset();

//For media file 1

mediaplayer.setDataSource(dataSourceOne);

mediaplayer.prepare();

mediaplayer.start();

Thread.sleep(500);//Set the time as per your need.

//For media file 2

mediaplayer.reset();

mediaplayer.setDataSource(dataSourceTwo);


mediaplayer.setLooping(true);

mediaplayer.prepare();

mediaplayer.start();

より良い実装の観点から、すべての一般的なメソッドを使用して util クラスを作成(play(),pause(),stop())し、スレッドを使用して要件に基づいてクラスからすべてのメソッドを呼び出します。

于 2012-11-08T07:50:17.557 に答える