作者回复: 基本都是,服务端会有一点 C/C++的
作者回复: 举个例子,对于耳机,它即是音频输入设备又是音频输出设备,因此它们属于同一个 groupID,你可以自己做个实验验证一下哈。对于第二个问题不同的浏览器表现不一样,其中chrome与webrtc规范是最接近的,你可以用chrome实验一下,是可以区分出音频的输入与输出设置的。
作者回复: 如果采样大小太小的话,你的声音的振幅又很大,这时就会对声音产生损失呀!
作者回复: 直接调用webrtc 的native 接口就可以。它与 web 接口类似,稍有不同!
作者回复: 调用那个函数呢?
作者回复: 本地是可以的,但真正的产品不会放在本地。另外,只测试本地有可能很多环节在真实环境是是打不通的。
作者回复: 你要在你的音频设置管理里边看,耳机是外摄,还是内置扬声器。另外你有没有使用https?
作者回复: 显示器明明是输出设备,啥时候变成了输入设备哈?只能用 HTTPS...,不要在这方面浪费时间了,在国外买个云服务器(花不了几个钱的),这样可以省去域名备案的时间。能用钱解决的问题就不要用时间去解决,因为这些时间可以用来挣更多的钱哈
作者回复: 可以,需要使用 AudioContext,你可以查一下相关信息
作者回复: 是的, safari这块是有这个问题,目前各浏览器的实现上还有一些区别
作者回复: 有耳机呀,你用的什么设备测试的?我在 mac 环境下,chrome 浏览器没有问题。
作者回复: 打卡!大卡!
作者回复: 要满足两个条件,一是使用https;二是调用getUserMedia
作者回复: 首先代码部分我会放到github上,下周一你就可以看到了。其次我想你是对如何发布写的H5页面不熟悉,这块我还会再写一篇简短的文章放出来。耐心等待!
作者回复: 从stream获取的 track后,调stop方面,可以去试一试。我想你应该可以自己解决这个问题哈!
作者回复: 为啥?如果你有多个输出设备切换不了?
作者回复: 没有这种情况,一定是你自己写的逻辑有问题,再仔细找找原因!
作者回复: MediaDeviceInfo 表是所有设备信息,InputDeviceInfo表式输入设备信息,MediaDeviceInfo 包含 InputDeviceInfo。
作者回复: 原理已经说的很清楚了,至于排查的细节逻辑属于业务逻辑,这不是本专栏的重点,这块要你自己解决哈。实在抱歉!