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

真棒,很高兴他能解决的问题! –