OpenTok 在音频/视频会议会话中缺少音频
Posted
技术标签:
【中文标题】OpenTok 在音频/视频会议会话中缺少音频【英文标题】:OpenTok missing audio in audio/video conference session 【发布时间】:2014-10-17 21:56:40 【问题描述】:我正在开发能够建立由 OpenTok 提供支持的音频/视频通话的 ios 应用。 我在装有 iOS 7.x 和 iOS 8.x 且集成了 OpenTok iOS SDK 2.3.0 的设备 iPhone 上对其进行了测试。
在应用使用过程中的某个时刻,我们尝试启动新的 OpenTok 音频/视频会话,并从 OpenTok SDK 收到错误(仅在 DEBUG 输出中,无法通过 SDK 处理)。 视频会议正在进行时,音频不再可用。
错误如下。 有趣的是,我们仍然可以在出现错误后在应用程序中录制和播放音频(我们在 OpenTok 会话旁边有这样的功能)。 但是所有后续的 OpenTok 会话都没有音频,我们必须重新启动应用程序才能让它再次工作。
09:55:41.768 ERROR: [0x11f55000] 1230: AUIOClient_StartIO failed (-66637)
ERROR[OpenTok]:Audio device error: AUGraphStart error: ˇ˛˚≥
09:55:41.811 ERROR: [AURemoteIO::IOThread] >aurioc> 1497: AURemoteIO@0x1684ec20: IOThread exiting with error 0x10004006
09:55:42.464 ERROR: [0x11f55000] 1230: AUIOClient_StartIO failed (-66637)
ERROR[OpenTok]:Audio device error: AUGraphStart error: ˇ˛˚≥
09:55:43.917 ERROR: [AURemoteIO::IOThread] >aurioc> 1497: AURemoteIO@0x1684ec20: IOThread exiting with error 0x10004006
09:55:44.596 ERROR: [0x11f55000] 1230: AUIOClient_StartIO failed (-66637)
ERROR[OpenTok]:Audio device error: AUGraphStart error: ˇ˛˚≥
09:55:44.612 ERROR: [AURemoteIO::IOThread] >aurioc> 1497: AURemoteIO@0x1684ec20: IOThread exiting with error 0x10004006
09:55:45.268 ERROR: [0x11f55000] 1230: AUIOClient_StartIO failed (-66637)
ERROR[OpenTok]:Audio device error: AUGraphStart error: ˇ˛˚≥
09:55:46.609 ERROR: [AURemoteIO::IOThread] >aurioc> 1497: AURemoteIO@0x1684ec20: IOThread exiting with error 0x10004006
09:55:47.261 ERROR: [0x11f55000] 1230: AUIOClient_StartIO failed (-66637)
ERROR[OpenTok]:Audio device error: AUGraphStart error: ˇ˛˚≥
09:55:48.195 ERROR: [AURemoteIO::IOThread] >aurioc> 1497: AURemoteIO@0x1684ec20: IOThread exiting with error 0x10004006
09:55:48.838 ERROR: [0x11f55000] 1230: AUIOClient_StartIO failed (-66637)
ERROR[OpenTok]:Audio device error: AUGraphStart error: ˇ˛˚≥
OpenTok 会话在测试应用程序中运行良好,但在实际应用程序中,我们有其他代码管理 AVAudioSession 模式和类别,我们遇到了上述问题。
初始化 OpenTok 会话的 UIViewController https://dl.dropboxusercontent.com/u/83972129/OpenTokDevViewController.cs
请告知如何诊断和解决问题。
【问题讨论】:
您找到纠正这些错误的方法了吗? 不幸的是 - 没有。用户仍然报告在音频/视频通话期间缺少音频(有时) 经过一些调查,似乎(我们使用的是cordova,带有opentok和一些声音插件)声音插件和Opentok的组合导致了一些问题。删除声音解决了我们的问题。您是否在使用一些声音库来播放音频文件? 不,只有 AVAudioPlayer。图书馆给您带来了什么问题? 如果我没记错的话,是cordova的库使用的声音库,不能确定是不是AVAudioPlayer,需要看文档。 【参考方案1】:试着玩一下
[[AVAudioSession sharedInstance] setCategory:??? error:nil]
可能是您在应用中设置的类别不适用于 Opentok。
【讨论】:
解决方案对我有用,注释掉以下代码后,opentok 没有产生音频错误... // 在 iphone 上,通过扬声器播放,而不是听筒 [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker 错误:nil];【参考方案2】:如果之前播放音频 然后打开音频单元(AudioOutputUnitStart)将发布此错误
我做了这个:(先调用 setCategory 然后打开音频单元,它工作正常 iOS 12.4.1)
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *error;
[session setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];
OSStatus status = AudioOutputUnitStart(audioUnit);
【讨论】:
以上是关于OpenTok 在音频/视频会议会话中缺少音频的主要内容,如果未能解决你的问题,请参考以下文章