WebRTC插件用於撲波手機/桌面/網絡
贊助? 經過
用於提要,聊天和視頻的企業等級API。嘗試Flutter視頻教程
LiveKit-開源WEBRTC基礎架構
| 特徵 | 安卓 | ios | 網絡 | macos | 視窗 | Linux | 嵌入 | 紫紅色 |
|---|---|---|---|---|---|---|---|---|
| 音頻/視頻 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 數據通道 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 屏幕捕獲 | ✔️ | ✔️(*) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 統一計劃 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 模擬廣播 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Mediarecorder | ✔️ | |||||||
| 端到端加密 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| 可插入的流 |
其他社區的其他平台/操作系統支持
將flutter_webrtc添加為pubspec.yaml文件中的依賴關係。
將以下條目添加到您的info.plist文件,位於<project root>/ios/Runner/Info.plist中:
< key >NSCameraUsageDescription</ key >
< string >$(PRODUCT_NAME) Camera Usage!</ string >
< key >NSMicrophoneUsageDescription</ key >
< string >$(PRODUCT_NAME) Microphone Usage!</ string >此條目允許您的應用訪問相機和麥克風。
M104版本後編譯的webrtc.xframework不再支持iOS ARM設備,因此需要添加config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'在您的ios/podfile中
ios/podfile
post_install do | installer |
installer . pods_project . targets . each do | target |
flutter_additional_ios_build_settings ( target )
target . build_configurations . each do | config |
# Workaround for https://github.com/flutter/flutter/issues/64502
config . build_settings [ 'ONLY_ACTIVE_ARCH' ] = 'YES' # <= this line
end
end
end確保您的Android清單文件中存在以下權限,該文件位於<project root>/android/app/src/main/AndroidManifest.xml中:
< uses-feature android : name = " android.hardware.camera " />
< uses-feature android : name = " android.hardware.camera.autofocus " />
< uses-permission android : name = " android.permission.CAMERA " />
< uses-permission android : name = " android.permission.RECORD_AUDIO " />
< uses-permission android : name = " android.permission.ACCESS_NETWORK_STATE " />
< uses-permission android : name = " android.permission.CHANGE_NETWORK_STATE " />
< uses-permission android : name = " android.permission.MODIFY_AUDIO_SETTINGS " />如果您需要使用藍牙設備,請添加:
< uses-permission android : name = " android.permission.BLUETOOTH " android : maxSdkVersion = " 30 " />
< uses-permission android : name = " android.permission.BLUETOOTH_ADMIN " android : maxSdkVersion = " 30 " />Flutter Project模板添加了它,因此它可能已經存在。
另外,您還需要將構建設置設置為Java 8,因為官方WebRTC Jar現在使用EglBase接口中的靜態方法。只需將其添加到您的應用級別build.gradle :
android {
// ...
compileOptions {
sourceCompatibility JavaVersion . VERSION_1_8
targetCompatibility JavaVersion . VERSION_1_8
}
}如有必要,在同一build.gradle中,您需要將defaultConfig的minSdkVersion提高到23 (當前默認的Flutter Generator將其設置為16 )。
編譯發布APK時,您需要添加以下操作,設置Proguard規則
該項目與社區的貢獻者密不可分。
有關更多示例,請參閱Flutter-Webrtc-Demo。
由於所有貢獻的人,該項目的存在。 [貢獻]。
成為財務貢獻者,並幫助我們維持社區。 [貢獻]
與您的組織一起支持這個項目。您的徽標將在此處顯示您網站的鏈接。 [貢獻]