我有一个Android应用程序,使得使用TTS(文本到语音)API的。一切都可以正常使用,但现在我想淡入/淡出,甚至停止音乐(如果用户正在播放的音乐与预置的音乐播放器),当应用程序讲文本。现在,我觉得音乐和TTS消息是在同一个流(音乐)播放,它可以是很难理解的语音信息。

我试过打文字上不同的流,像AudioManager.STREAM_NOTIFICATIONS。它确实停止音乐,但是不回来时,说出文字,所以我没有实现的目标。有没有发现任何东西,所以我希望有人能帮助这里。谢谢!

有帮助吗?

解决方案

我终于得到了一些工作。虽然不完美。相当肮脏伎俩。万一它可以帮助别人:

此被固定在与AudioManager的requestAudioFocus和abandomAudioFocus方法API 8。

但对于前版本,你可以试试这个。通过不同的流的频道播放TTS,让我们说STREAM_NOTIFICATIONS。然后你只需要返回音频焦点STREAM_MUSIC。你怎么能做到这一点?发送沉默字符串(”“),以TTS但这次通过STREAM_MUSIC。效果是:音乐停止时,你的TTS消息被讲,最后你的音乐是声音警报后回来。不是很好或者一些事情感到自豪,但是......如果有人知道的另一种方式,我将不胜感激。

其他提示

你能使用TextToSpeech.OnUtteranceCompletedListenerAudioManager.setStreamVolume一起实现这一目标?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top