如何设置蓝牙媒体卷的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置蓝牙媒体卷的值相关的知识,希望对你有一定的参考价值。

我正在尝试制作可以控制蓝牙音量的android应用程序。到目前为止,我设法改变了通话的蓝牙音量值。使用这段代码:

 audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    int streamMaxVolume = audioManager.getStreamMaxVolume(6);
    int lVol = ((volumeValue / 100) * streamMaxVolume);
    audioManager.setStreamVolume(6, lVol, 0);

现在我遇到的问题是我找不到为蓝牙媒体卷分配的streamType的int值。

答案

好吧,我找到了答案。看起来像蓝牙设备连接到手机后。为了更改蓝牙媒体音量,应用程序应该等待一段时间。我设置了我的方法在10秒后运行它的代码。这里是 :

public void strat(BtDevice btDevice){

   new Timer().schedule(
           new TimerTask() {
               @Override
               public void run() {
                   AudioManager audioManager = (AudioManager) myContex.getSystemService(Context.AUDIO_SERVICE);
                   int volumeValue = btDevice.getMusicVolume();
                   int streamMaxVolume = audioManager.getStreamMaxVolume(3);
                   int lVol = ((volumeValue / 100) * streamMaxVolume);
                   audioManager.setStreamVolume(3, lVol, AudioManager.FLAG_SHOW_UI);
               }
           },
           10000
   );

以上是关于如何设置蓝牙媒体卷的值的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过编程关闭蓝牙耳机中的媒体音频模式?

如何对媒体片段的任何部分进行范围请求?

蓝牙耳机连接车辆为啥不能播放语音

如何计算破折号媒体片段名称的 $Time$ 变量?

如何使用 Blob URL、MediaSource 或其他方法播放连接的媒体片段 Blob?

如何区分两个“onpause”事件 - 由单击“暂停”按钮引起,以及由到达媒体片段末尾引起?