【发布时间】:2021-12-23 11:57:36
【问题描述】:
我正在开发一个 APK,要求在一定时间后将设备音量重置为默认值,但是我使用的代码似乎没有做任何事情。目前我正在尝试通过使用AudioManager.setStreamVolume 方法来做到这一点,如下所示:
val audioStreamList = arrayOf(
AudioManager.STREAM_MUSIC,
AudioManager.STREAM_ALARM,
AudioManager.STREAM_DTMF,
AudioManager.STREAM_NOTIFICATION,
AudioManager.STREAM_RING,
AudioManager.STREAM_SYSTEM,
AudioManager.STREAM_VOICE_CALL
)
fun setVolume() {
for (stream in audioStreamList) {
// Trying to set device volume to 50% by setting all stream volumes to 50%
val volume = 0.5 * audioManager.getStreamMaxVolume(stream)
audioManager.setStreamVolume(stream, volume, 0)
}
}
我已将此添加到 AndroidManifest.xml:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
一些额外的细节:
- 使用 Kotlin
- 这是支持 Alexa 的设备
- 执行上述代码后,Alexa认为音量为 5(这就是她所说的音量)。但是,实际设备音量仍为 Alexa 设置的最后一个音量。
有什么想法吗?
【问题讨论】:
标签: java android kotlin audio alexa