android - TTS 的默认音频流是什么?

标签 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)

我也知道可以显式告诉 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)。是这个吗?

最佳答案

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;

关于android - TTS 的默认音频流是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877272/

相关文章:

android - 如何从时间戳获取日期和时间到不同的 TextView

android - 编写Android服务时Logcat中没有任何内容

Java 文本转语音 API

android - 如何为特定来电提供自定义振动

android - 如何在Android 7.1上设置最大声音

android - 可以获取其他app的audioStream吗

android - 如何找到哪个库正在使用缺少的类并导致 Proguard 错误?

android - 在 Phonegap 3/Cordova 3 中检索用户 sim 号码

Android TTS onUtteranceCompleted 回调未被调用

text-to-speech - 使用 JSAPI 将文本转换为语音时排查 "System property mbrola.base is undefined. Will not use MBROLA voices"问题