首页 >> 大全

网易云音乐显示 15 个声音选项背后的系统 API 和驱动机制

2023-12-27 大全 28 作者:考证青年

背景

在平时用电脑时,因为就一个设备,没有想过声音是如何传输的。

这次连接了小爱同学和蓝牙耳机,发现网易云音乐有15个声音选项,令我来了兴趣:

: Sound

:扬声器( High Audio)

:耳机(小爱音箱-8825 )

:耳机(QCY T8 )

:耳机(QCY T8 Hands-Free AG Audio)

: Sound

:扬声器( High Au)

:耳机(小爱音箱-8825 )

:耳机(QCY T8 )

:耳机(QCY T8 Hands-Free AG Audio)

:默认输出设备

:耳机(小爱音箱-8825 )

:扬声器( High Audio)

网易云音乐网易_网易云音乐相册不在图库显示_

:耳机(QCY T8 )

:耳机(QCY T8 Hands-Free AG Audio)

首先我们发现,网易云的15个选项实际上是3个xxx+5个设备的组合,不禁让我们思考原理。

设备传输

我们理清一下设备传输的过程。

所以这3个xxx应该是系统层的不同接口,把硬件各自弄了个 API。

其他5个则是硬件,硬件中有一个是默认设备,在点击的时可以选择。

但剩下4个中 QCY-T8 实际上重复了一次,应该是驱动程序识别出了两个设备,其中 QCY T8 Hands-Free AG Audio 的声音是单声道,而且是通话质量,音质估计在 20 kbps,基本上听不下去。

而且,耳机还自带一个麦克风,而且名字也叫 QCY T8 Hands-Free AG Audio (2) ,我估计麦克风和刚才的低质量耳机是一体的,之所以设计低质量输出,就是为了麦克风和耳机同时启用。

而识别了两个设备的原理,可以先了解一下「蓝牙」,然后看看驱动的知识。

系统 API

与 与的区别,解释了系统API的区别,具体接口介绍可以在百度百科搜到。

、/DS、、 /KS:这个资料更全面

应该有很多API可以玩,比如连点器,其实就是调用了光标操作API。

除了到 Docs查API,可以看看中有很多有趣的API。

现在软件开发都不用自己调用API了,很多IDE都支持自动调用API,比如应用就经常用.NET来写,本质上他的API函数是封装多层后给你的。

【科普】和:游戏为什么离不开它们

网易云音乐网易__网易云音乐相册不在图库显示

腾讯会议

不过有趣的是,因为 QCY 有两个设备,当腾讯会议选择一个 QCY 的一个设备后,如果它恰好没检测到另一个设备,那电脑通过另一个设备发出的所有声音都无了,只有把 输出也选择 QCY 相同的设备才正常。

解决办法是断开耳机,重新连接,然后腾讯会议会重新检测设备,此时在 选择默认,然后腾讯会议会跟着 默认输出了。

但有时候,这个问题更加严重,两个设备不管选择那个都没有声音,居然只能用电脑扬声器,重启蓝牙没有用,重启耳机没有用,重启腾讯会议也没有用,逼得我把所有软件都关一遍,接近于重启电脑。然后一开腾讯会议,继续重复前面的问题!

以上这些原因还不清楚,但能推测到它应该修改了 API 的一些设置,类似于为了通信而进行的独占。某些软件那种固执己见的开发方式,总是搞的兼容性差,操作也不流畅,令人难受要命。

浏览

我还发现一个现象,蓝牙音箱在驱动上似乎有问题。

电脑随便打开一个音频,比如用 打开视频、打开网易云音乐,然后浏览器随便播放个音频,比如B站视频、网易云音乐。

这个时候, 的暂停不会影响浏览器或任何一个软件,但浏览器暂停后,所有软件的音频会全部没有声音。

这个问题另我很恼火,凭什么浏览器会控制整个电脑的音频输出呢?

我推测是浏览器连接的音频 API 是,因为这个 API 是软件独占的。而在不练蓝牙音箱时,可能用的是 API。

于是我去搜了一下,发现浏览器的权限似乎确实很高。比如 「 选项」,似乎是 专门给浏览器的 API,@ 、

接着我尝试把浏览器输出选为「电脑扬声器」,其他软件选为「蓝牙音箱」,更离谱事情发生了,我暂停电脑的扬声器,音响也没声音了。

我用「开发人员工具」删掉了所有的「事件」,包括 侦听器,但依旧没有效果。我推测事件只是执行的条件,问题不是要不要执行,而是执行音频操作后会对系统 API 造成影响。

后续更新:询问 GPT4

目前我是手动切换音频源解决的。

首先把要听的音频换到电脑扬声器,然后再切换回蓝牙音箱,就好了。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了