2017-07-17 3 views
0

これは奇妙な質問かもしれませんが、AndroidのMediaPlayerクラスを使用してオーディオ再生を開始する前に、人工的な遅延(たとえば、100ms)を追加します。これは、AudioManager.AUDIOFOCUS_REQUEST_GRANTEDの後で、player.start()の前に発生する必要があります。ここに私のコードです:Androidで再生を開始する前に遅延を追加するにはどうすればよいですか?

int result = am.requestAudioFocus(afChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); 
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED){ 
       //add delay 
       player.start();} 

はこれをGoogleで検索してみましたが、有益な何かを見つけるように見えることはできませんし、私も..任意のポインタをいただければ幸いで検索するかを知るには余りにも新たなんです!

答えて

0

使用ハンドラ遅延

int result = am.requestAudioFocus(afChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); 
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED){ 
    new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      player.start(); 
     } 
    }, 100); 
} 
+0

は完璧に動作します、ありがとう! –

0

これが助けになるかどうかはわかりませんが、以前はブラウジング中にこれが見つかりましたが、これが役立ちます。 Mediaplayer and delay in playing

+0

を追加するには、感謝を行いますが、SISAのソリューションは、彼が問題を解決することができ嬉しい、素晴らしい –

+0

より適用されます! –

関連する問題