gpt4 book ai didi

android - 蓝牙音频不会立即恢复

转载 作者:行者123 更新时间:2023-12-05 04:30:08 27 4
gpt4 key购买 nike

想象一下通过蓝牙连接到扬声器(或任何蓝牙音频设备)的 Android 设备(可能是任何制造商的任何设备)......并且有“相当长”的时间没有播放音频从设备。

当音频从该设备恢复播放时,通常会出现“扬声器正在慢慢唤醒”阶段,此时听不到任何音频,而且音频很晚才变得可听。

当音频以恒定的音频“保持活跃”,或者只是短暂的沉默时,这不太明显,但是如果您的应用程序在不可预测的时间发出非常短且断断续续的声音……就像使用传感器测量环境条件的警报?

我不确定:

A) 这种行为是输出设备的某种节能功能,我们无法控制它,只能在我们想要的声音之前播放某种假音频/静音……或者有一个低- 持续循环的音量/白噪声……以抢先/防止“预热”。

B) 它是蓝牙协议(protocol)/标准/定义的一部分

C) 它在软件中是可控的(在 Android 上):

bluetooth.setMode(BluetoothMode.NO_NAPPING_ALLOWED);

我希望情况是 (C),如果是,那么正确的代码是什么?

我敢肯定那里有一个类似的问题,但我找不到它,而且我已经搜索了 AudioManager 的文档,虽然很多地方都提到了蓝牙,但我可以'找到这个功能。

最佳答案

为了好玩,我访问了手机上的开发人员选项,并选择了让设备保持唤醒状态的选项。我还尝试禁用任何电池优化。

我的 SONY XB-900 耳机在静默几分钟后关闭,我的便宜的 Monster 耳机没有关闭,还有一个便宜的蓝牙音箱没有关闭。

我在 Windows 上重复了同样的事情,结果完全一样。

然后我在一些论坛上搜索,使用关键字“蓝牙”“防止”“唤醒”“省电”“待机”“断开连接”“烦人”“静音”。

这位评论者讲述了一些有趣的事情:

I read that sony SRS-X1 bluetooth speaker doesn't cut off bluetoothaudio connection after a period of inactivity. It just enters standbymode which it takes about 0.1 second to exit when audio signalsarrive. So, you can lose 0.1 second of audio when audio is playedafter a period of inactivity. However, you can prevent it fromentering standby mode by playing 20Hz noise continuously. Speakerscannot react to 20Hz noise, so 20Hz noise is silent.

这让我相信这是一个纯粹的播放设备端实现,操作系统和蓝牙与它没有任何关系。您没有找到任何有关它的文档这一事实支持了该理论。看起来解决方案就是您已经提到的那个:循环播放非常低或非常高的频率以保持设备唤醒。

关于android - 蓝牙音频不会立即恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72134314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com