注意:直播功能的使用(對方需要先進入到對應的聊天介面)
兩個測試賬號: lxf lqr 密碼都是123456首先第一件事當然就是搭建乙個推流伺服器,這裡請跳轉參考我之前寫好的文章吧【ubuntu 安裝nginx 來搭建推流伺服器】,這裡我的伺服器的ip位址是:192.168.123.191
關鍵**如下
// 初始化配置
let audioconfiguration = lfliveaudioconfiguration.default()
let videoconfiguration = lflivevideoconfiguration.defaultconfiguration(for: .low2, outputimageorientation: .portrait)
// 初始化session
let session = lflivesession(audioconfiguration: audioconfiguration, videoconfiguration: videoconfiguration)
// 設定**
// session?.delegate = self
// 設定展示的view
session?.preview = self.view
let stream = lflivestreaminfo()
stream.url = "rtmp:"; // 伺服器位址
session.startlive(stream)
// 開始推流
session.running = true
這裡我使用的是b站的開源庫 ijkplayer
為了方便可以用這個 編譯好的b站開源庫
需要注意的是:ijkplayer預設使用的是軟解碼(ffmpeng),如果需要使用硬解碼需要我們進行相應的設定
// 設定"videotoolbox"的值為0為軟解碼(預設),設定為1則是硬解碼
let options = ijkffoptions.bydefault()
options?.setoptionintvalue(1, forkey: "videotoolbox", of: kijkffoptioncategoryplayer)
let ijkplayer = ijkffmovieplayercontroller(contenturlstring: "rtmp:", with: options)
// 需儲存起來
self.ijkplayer = ijkplayer
ijkplayer?.view
.frame = view.bounds
view.addsubview(ijkplayer!.view)
ijkplayer?.preparetoplay()
開啟專案 ijkmediaplayer
設定為 release,這樣打出來的包會小些
選擇真機和模擬器,各command+b編譯一次
右擊,show in finder
可以使用如下命令檢視資訊
預設模擬器編譯出來的包是不支援i386,如果希望支援的話
進入專案的 build settings,將 build active architecture only 設定為no
好,現在對編譯出來的包進行合併,這樣就即支援真機,也支援模擬器
// 格式
將合併出來的ijkmediaframework替換 ijkmediaframework.framework中的ijkmediaframework,最後將替換好的 ijkmediaframework.framework 拖入到專案中使用即可。
高仿微信軟鍵盤
1 支援android原生表情換ios表情 2 支援自定義表情 首先感謝以下2個開源專案 1 android表情轉ios表情 2 軟鍵盤和表情鍵盤切換防止閃動 首先看效果圖 1 支援自定表情,android表情轉換成ios 這裡 有註解,這裡唯一的難度就是把2個開源專案的功能整合在了一起,既支援自定...
iOS 新增微信分享
1 將sdk檔案中包含的libwechatsdk.a,wxapi.h,wxapiobject.h三個檔案新增到你所建的工程中。2 選擇你的工程設定項,選中 targets 一欄,在 info 標籤欄的 url type 新增 url scheme 為你所註冊的應用程式id 寫了個工具類,在需要分享的...
仿微信iOS相簿選擇 MTImagePicker
專案主頁 mtimagepicker 相容ios7,支援指定使用alassets或者photos框架。支援相簿選擇 預覽滾動流暢優化 直接匯入無其他依賴,直接拖動mtimagepicker mtimagepicker到你的專案就行cocoapods source platform ios,8.0 u...