首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Linphone iOS SDK启用视频通话

使用Linphone iOS SDK启用视频通话
EN

Stack Overflow用户
提问于 2018-02-08 16:14:20
回答 1查看 884关注 0票数 1

我正在尝试使用Linphone在我的swift应用程序上启用视频通话。我能够启用音频呼叫,但无法使其与视频一起工作。如果我启用这一行,应用程序总是崩溃:

代码语言:javascript
复制
linphone_call_params_enable_video(linCallParams, 1)

我只想在这里接收视频和音频。

代码语言:javascript
复制
@objc func startVideoCall() {

    linphone_core_enable_video_display(theLinphone.lc, 1)
    linphone_core_enable_video_capture(theLinphone.lc, 1)

    let linCallParams = linphone_core_create_call_params(theLinphone.lc, nil)
    linphone_call_params_enable_video(linCallParams, 1)

    linphone_call_params_set_video_direction(linCallParams, LinphoneMediaDirectionSendRecv)
    linphone_call_params_set_audio_direction(linCallParams, LinphoneMediaDirectionSendRecv)

    let call = linphone_core_invite_with_params(theLinphone.lc, calleeAccount, linCallParams)

    linphone_core_set_native_video_window_id(theLinphone.lc, &videoStreamView)
    linphone_core_set_native_preview_window_id(theLinphone.lc, &videoStreamPreview)

    do {
        try audioSession.setActive(true)
    } catch {
        print("Audio error: \(error.localizedDescription)")
    }
    linphone_call_params_unref(linCallParams)     
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 15:24:01

这个代码组合解决了我的问题

代码语言:javascript
复制
private func bridge<T: AnyObject>(obj : T) -> UnsafeRawPointer {
    let pointer = Unmanaged.passUnretained(obj).toOpaque()
    return UnsafeRawPointer(pointer)
}

let viewPointer = UnsafeMutableRawPointer(mutating: bridge(obj: view))
linphone_core_set_native_video_window_id(theLinphone.lc, viewPointer)
let previewPointer = UnsafeMutableRawPointer(mutating: bridge(obj: previewStream))
linphone_core_set_native_preview_window_id(theLinphone.lc, previewPointer)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48680606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档