14

据我所知,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)

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

params.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
mTts.speak(text, TextToSpeech.QUEUE_ADD, params);

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

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

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

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

4

1 回答 1

18

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;
于 2011-08-08T07:36:52.040 回答