iOS 給高仿微信新增直播聊天功能

2021-08-07 03:26:34 字數 2893 閱讀 8353

注意:直播功能的使用(對方需要先進入到對應的聊天介面)

兩個測試賬號: 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...