TTS的默认音频流是什么?

an0*_*00b 11 android text-to-speech android-audiomanager

据我所知,Android目前有7个音频流:

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)
Run Code Online (Sandbox Code Playgroud)

我也知道可以明确告诉TTS引擎使用哪个流:

params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
mTts.speak(text, TextToSpeech.QUEUE_ADD, params);
Run Code Online (Sandbox Code Playgroud)

但是,我没有找到的是当我没有指定音频流时默认使用的流.

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

有没有办法查询Android的TextToSpeech引擎当前正在使用哪个流?

UPDATE: TextToSpeech.Engine有一个常量定义为DEFAULT_STREAM,但不清楚它所引用的7个流中的哪一个.但它具有与STREAM_MUSIC相同的十六进制值(0x3).是这个吗?

Rom*_*rik 17

STREAM_MUSIC是AOSP源中的默认值,在TextToSpeech.java中定义(撰写本文时第164行)frameworks/base.git:

/**
 * Default audio stream used when playing synthesized speech.
 */
public static final int DEFAULT_STREAM = AudioManager.STREAM_MUSIC;
Run Code Online (Sandbox Code Playgroud)

  • 不知道副手,但我已经为这个问题增加了一笔赏金. (3认同)