2011-07-29 145 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

不知道副手,但我添加了賞金這個問題。 –