1

我正在集成 Skype 的 iOS SDK,当我尝试从对话助手启动音频服务时。

do {
    try self.conversationHelper.conversation.audioService.start()
}
catch {
    print(error.localizedDescription)
}

我得到了这个错误。音频既没有通过也没有消失。(但视频服务运行良好。)

2016-11-12 21:22:00.012 test-skype[669:1aa91fc40] INFO APPLICATION CUcmpAudioModality.cpp:230 CUcmpAudioModality::start(AudioType) called.
2016-11-12 21:22:00.014 test-skype[669:1aa91fc40] INFO APPLICATION CUcmpAudioModality.cpp:259 CUcmpAudioModality::start(AudioType, CUriString) called.
2016-11-12 21:22:00.015 test-skype[669:1aa91fc40] INFO APPLICATION CUcmpAudioVideoModality.cpp:2799 CUcmpAudioModality::queryCapability on StartVoIP returned false because modality state is InConversation
2016-11-12 21:22:00.017 test-skype[669:1aa91fc40] ERROR APPLICATION CUcmpAudioModality.cpp:267 Unable to start audio with error (587726849)

我该如何解决?请帮忙。

4

1 回答 1

0

我设法找到解决方案。我需要初始化AVAudioSession并将类别设置为AVAudioSessionCategoryPlayAndRecordfirst 以使其工作。

let audioSession: AVAudioSession = AVAudioSession.sharedInstance()
do{
    try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
}
catch let errorForCategory as Error{
    print(errorForCategory.localizedDescription)
}
do{
    try audioSession.setMode(AVAudioSessionModeVoiceChat)
}
catch let errorForMode as Error {
    print(errorForMode.localizedDescription)
}

编辑:如果您打算在视频聊天中使用 Airplay,您需要将模式设置AVAudioSessionModeVideoChat为本文档中提到的。 https://developer.apple.com/library/content/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionBasics/AudioSessionBasics.html

do {
    try audioSession.setMode(AVAudioSessionModeVideoChat)
}
catch let errorForMode as Error {
    print(errorForMode.localizedDescription)
}
于 2016-11-20T17:06:46.190 回答