2017-07-17 93 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

使用Handler來增加延遲

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

真棒,很高興他能解決的問題! –