2017-09-05 11 views
0

次のサウンドファイルを再生する前に、データベースの各サウンドファイルを2回再生します。Media Playerが各サウンドファイルを2回再生します

ここは私のクラスです。

public void startSlides() { 

    timer = new Timer(); 
    timer.scheduleAtFixedRate(new TimerTask() { 

     public void run() { 
      runOnUiThread(new Runnable() { 
       public void run() { 

        Intent intent = getIntent(); 

        int setId = intent.getIntExtra("SelectedSetId",0); 

        databaseAccess.open(); 


        setId = setId + 1; 


        final List<byte[]> audio = databaseAccess.getAudioA(setId); 

        if (i > audio.size()){ 
         i = 0; 
        }else{ 
         playAudio(audio.get(i)); 
         i++;} 


        List<String> vocab = databaseAccess.getVocabNameA(setId); 
        textView2.setText(vocab.get(k)); 
        k++; 

        textView.setText(+j + "/" + vocab.size()); 
        j++; 

        databaseAccess.close(); 

        if (j == vocab.size() + 1) { 
         timer.cancel(); 
        } 
       } 
      }); 
     } 

    }, 0, DURATION); 

} 

私は再生オーディオメソッドを2回コールしようとしましたが、動作していません(同じ時間に同じファイルを再生するだけです)。

final List<byte[]> audio = databaseAccess.getAudioA(setId); 

        //first time 

        if (i > audio.size()){ 
         i = 0; 
        }else{ 
         playAudio(audio.get(i)); 
         i++;} 

        //second time 

        if (i > audio.size()){ 
         i = 0; 
        }else{ 
         playAudio(audio.get(i)); 
         i++;} 

どのように私はそれを行う必要がありますか?ありがとうこの方法をやって

+0

を*自分のコードを修正する方法* **壊れているもの**多分 'playAudio'は、新しいスレッドを開始したのですか?あなたはそれが完了するのを待つ必要があります - 野生の推測! –

+0

@ScaryWombat、私はオーディオファイルを2回再生するにはどのようにすればよいか提案しています。 – chernting

+0

申し訳ありませんが、私はあなたが意味するものを得ることはありません。 – chernting

答えて

0

はあなたを助けるかもしれない:??

private int mPlaybackCount = 0; 

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
       @Override 
       public void onCompletion(MediaPlayer mp) { 
        if(mPlaybackCount < 1){ 
         mPlaybackCount++; 
         // Play Song again 
        } else { 
         mPlaybackCount = 0; 
         // Play Next Song 
        } 


       } 
      }); 
+0

こんにちは、これを私のplayAudioメソッドに追加しましたが、まだ動作していません。 – chernting

関連する問題