2011-07-29 112 views
11

据我所知,目前有7个音频流在Android什么是TTS的默认音频流?

STREAM_ALARM   (for alarms) 
STREAM_DTMF   (for DTMF Tones) 
STREAM_MUSIC   (for music playback) 
STREAM_NOTIFICATION (for notifications) 
STREAM_RING   (for the phone ring) 
STREAM_SYSTEM  (for system sounds) 
STREAM_VOICE_CALL (for phone calls) 

我也知道这是可能的明确告诉TTS引擎,流使用方法:

params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(audioManager.STREAM_ALARM); 

但是,我找不到什么流是默认使用的流,当我不指定音频流时

什么是Android的TextToSpeech引擎的默认音频流?

有没有办法查询哪个流是目前被Android的TextToSpeech引擎使用?

UPDATE:TextToSpeech.Engine具有被定义为DEFAULT_STREAM恒定但目前还不清楚其7的流是指。不过,它具有与STREAM_MUSIC相同的十六进制值(0x3)。是这个吗?

回答

16

STREAM_MUSIC处于AOSP源的默认值,在frameworks/base.gitTextToSpeech.java(线164在撰写本文时)中所定义:

/** 
* Default audio stream used when playing synthesized speech. 
*/ 
public static final int DEFAULT_STREAM = AudioManager.STREAM_MUSIC; 
+0

哇!非常感谢你。 +51。你是否也碰巧知道这个相关问题的答案? [TTS输出总是要A2DP](http://stackoverflow.com/questions/6963461/tts-output-always-going-to-a2dp) – an00b

+3

不知道副手,但我添加了赏金这个问题。 –