Android应用如何设置蓝牙媒体音量?找不到对应streamType的int值
解决Android蓝牙媒体音量对应的streamType值问题
嘿,我之前做蓝牙音量控制的时候也卡过这个点!既然你已经搞定了蓝牙通话音量的调节,那蓝牙媒体音量对应的streamType其实就是AudioManager.STREAM_MUSIC,它对应的int值是3。
Android系统里,所有媒体类的音频播放(包括蓝牙连接下的音乐、视频声音)都是走这个流类型的,和蓝牙通话用的STREAM_VOICE_CALL(int值为2)是完全分开的。你可以直接用系统提供的常量,或者直接用数值3来调用音量调节API。
给你贴个简单的代码示例参考:
// 获取AudioManager实例 AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); // 目标音量值,范围是0到该流类型的最大音量 int targetVolume = 5; // 调节蓝牙媒体音量 audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, targetVolume, 0);
额外提一句:如果你的场景涉及到蓝牙耳机的SCO语音链路(比如部分设备的语音助手或特殊通话场景),可以留意AudioManager.STREAM_BLUETOOTH_SCO,但普通的蓝牙媒体播放肯定是用STREAM_MUSIC没错的。
内容的提问来源于stack exchange,提问作者Hossain Ehsani




