Ger*_*ard 3 android media-player
我的应用程序偶尔发布一个简短的通知,无论是通过TextToSpeech还是使用MediaPlayer.如果在某些应用程序中使用的话可能会在后台运行其他音乐MediaPlayer,我想暂停这段音乐片刻,然后在我宣布恢复播放"背景音乐"之后.
有办法吗?
如果您可以定位API级别8及以上(Android 2.2),那么请查看AudioManager,特别requestAudioFocus()是AUDIOFOCUS_GAIN_TRANSIENT和AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK,和abandonAudioFocus().
这些提示了当前播放的音乐流,您的应用程序希望播放简短的声音.如果你使用AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK,requestAudioFocus()你可以获得一个很好的效果,在已经播放的音乐暂停,你的声音播放,然后播放音乐再次淡入你的电话abandonAudioFocus().
这与我试过的2.2设备上的内置媒体播放器很好地配合(三星Galaxy S Wi-Fi和HTC Wildfire.)我没有尝试过与其他音乐播放应用程序广泛使用,但它确实有效至少和Spotify一样,是正确做你想做的事情的官方方式.
请注意,abandonAudioFocus()由于大多数声音都是异步播放,因此您需要自己调用.幸运的是,这两个MediaPlayer并TextToSpeech提供回调机制,因此,当他们已经完成播放你的声音,他们可以给你一个正式版(这是不是真正的SoundPool,所以这是比较烦人使用音频对焦.)
| 归档时间: |
|
| 查看次数: |
2441 次 |
| 最近记录: |