Windows 如何更改Mac Native WebRTC上的默认播放设备?
我正在使用WebRTC(本机Mac和本机Windows,而不是JS),试图更改默认的播放和录制设备,但遇到了很多麻烦。这让我开始发疯,因为它应该非常简单 问题:在Mac和Windows上进行本机通话时,建议用什么方法更改音频播放和录音设备 以下是我尝试过的: 方法1 雨衣 我注意到音频设备模块监听核心音频API通知,并正确调整播放和录制设备。这是可行的,但我不确定这是否是更换设备的推荐方法 窗户 我找不到系统范围内设置默认音频播放/录制设备的方法。我唯一能判断可能工作的方法是获取音频设备模块的参考,并手动调用该模块上的Windows 如何更改Mac Native WebRTC上的默认播放设备?,windows,macos,webrtc,Windows,Macos,Webrtc,我正在使用WebRTC(本机Mac和本机Windows,而不是JS),试图更改默认的播放和录制设备,但遇到了很多麻烦。这让我开始发疯,因为它应该非常简单 问题:在Mac和Windows上进行本机通话时,建议用什么方法更改音频播放和录音设备 以下是我尝试过的: 方法1 雨衣 我注意到音频设备模块监听核心音频API通知,并正确调整播放和录制设备。这是可行的,但我不确定这是否是更换设备的推荐方法 窗户 我找不到系统范围内设置默认音频播放/录制设备的方法。我唯一能判断可能工作的方法是获取音频设备模块的参
SetPlayoutDevice
/SetRecordingDevice
,从而得出下面的方法2:
方法2
雨衣
如果可能的话,我宁愿使用SetPlayoutDevice
()/SetRecordingDevice
()来更改音频输入/输出(因此Mac和Windows的工作方式相同)
对真实音频IO设备的测试表明,在调用SetPlayoutDevice
后,我们应该能够调用StartPlayout
和StopPlayout
——但这会使我的应用程序冻结。我在没有调用StopPlayout
和StartPlayout
的情况下尝试了它,但它似乎什么也没做。这是有意义的,因为看起来只有内部状态被修改,而没有任何内容被修改
问:如何更改Mac上的默认音频播放设备和录音设备
窗户
我还没有机会在Windows上试用,但Mac不工作让我觉得我缺少了一些东西。自己回答这个问题
VoEHardwareImpl()似乎有一些相关的代码
播放时间:
- 停止布局
- …设置设备索引
- 立体播放可用
- 设置立体布局
- 初始播放
- 起始布局
- 停止录音
- …设置设备索引
- 立体记录可用
- 设置录像机记录
- 初始记录
- StartRecording