七牛SDK連麥那些事

由于項目需求需要直播的時候連麥.于是就走了一段苦逼路. 按照demo提示的寫法自己寫了好幾遍, 但是每次都是點擊連麥的時候崩潰, 崩潰啊,崩潰. 因為項目的特殊性,老板每次見我就是問 “連麥 搞好了嗎?”. 我應(yīng)該說我比程序還崩潰... 并且我向七牛提供工單的時候, 他們說的意思就是他們也不知道原因,讓我自己查找,找到了好告訴他們, 我.....

(lldb) bt
* thread #35, name = 'sdk_worker_thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xb00000000000002a)
  * frame #0: 0x0000000100687d00 XXX`X509_subject_name_cmp + 52
    frame #1: 0x000000010066e9f8 XXX `OBJ_bsearch_ex_ + 136
    frame #2: 0x0000000101065894 XXX `sk_find + 104
    frame #3: 0x000000010106c230 XXX `X509_OBJECT_retrieve_match + 28
    frame #4: 0x000000010106c180 XXX `X509_STORE_add_cert + 232
    frame #5: 0x0000000100c31d24 XXX `rtc::OpenSSLAdapter::ConfigureTrustedRootCertificates(ssl_ctx_st*) + 140
    frame #6: 0x0000000100c30c5c XXX `rtc::OpenSSLAdapter::SetupSSLContext() + 68
    frame #7: 0x0000000100c30a3c XXX `rtc::OpenSSLAdapter::BeginSSL() + 156
    frame #8: 0x0000000100c31694 XXX `rtc::OpenSSLAdapter::OnConnectEvent(rtc::AsyncSocket*) + 140
    frame #9: 0x0000000100c2b6e0 XXX `sigslot::signal1<rtc::AsyncSocket*, sigslot::single_threaded>::operator()(rtc::AsyncSocket*) + 84
    frame #10: 0x0000000100c229a8 XXX `rtc::SocketDispatcher::OnEvent(unsigned int, int) + 60
    frame #11: 0x0000000100c20ecc XXX `rtc::PhysicalSocketServer::Wait(int, bool) + 872
    frame #12: 0x0000000100c1aa8c XXX `rtc::MessageQueue::Get(rtc::Message*, int, bool) + 812
    frame #13: 0x0000000100c2e0e0 XXX `rtc::Thread::ProcessMessages(int) + 124
    frame #14: 0x0000000100c2dee4 XXX `rtc::Thread::PreRun(void*) + 488
    frame #15: 0x000000018aef568c libsystem_pthread.dylib`_pthread_body + 240
    frame #16: 0x000000018aef559c libsystem_pthread.dylib`_pthread_start + 284
    frame #17: 0x000000018aef2cb4 libsystem_pthread.dylib`thread_start + 4

正文

首先,七牛連麥SDK 一定要從 https://developer.qiniu.com/pili/sdk/1639/PLMediaStreamingKit-RTC 這個網(wǎng)址下載的, 手動導(dǎo)入到程序中.

其次,播放的時如果用 PLPalyerKit 的話, 一定要用 PLPalyerKit.frame, 為什么說一定要用啊.這是才是重點.
防止沖突,
防止沖突,
防止沖突....

什么沖突? .a文件沖突 ! 如果只是嵌入了 PLMediaStreamingKit-RTC 和 PLPalyerKit (不是導(dǎo)入的.frame的動態(tài)庫), 你會發(fā)現(xiàn)有兩個 libcrypto.a 和 兩個 libssl.a, 當你的項目中添加支付寶之后, 你又會驚奇的發(fā)現(xiàn) 現(xiàn)在在是三個 libcrypto.a 和 三個 libssl.a. 對沒錯就是沖突, 果斷的將 PLPalyerKit 換成動態(tài)庫 PLPalyerKit.frame, 保留一個 libcrypto.a 和 一個 libssl.a 再次運行項目.成功.

溫馨提示, 主播連麥最好比 推流 延遲兩秒(否則 容易出現(xiàn)連麥失敗).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,052評論 4 61
  • 情人節(jié)前夕,借著培訓(xùn)的機會,來到了常州,不的不說這個時間點讓很多同事吐槽不已,畢竟想二人空間的完美時機也不是那么多...
    陽光小妹閱讀 335評論 0 1
  • 一恩關(guān)于事項時間管理這件事我確實還要好好做
    一只2b兔子閱讀 246評論 0 0
  • 總有一些東西會倉促的就消失,就像午后蹲在樹下吃的冰淇淋,就像剛好觸及你褲腳的小白花,就像你以為會有很漫長很漫長的成...
    劉十七_R閱讀 252評論 0 5

友情鏈接更多精彩內(nèi)容