Flutter Mobile/Desktop/Web用のWeBRTCプラグイン
スポンサー? による
フィード、チャット、ビデオのエンタープライズグレードAPI。フラッタービデオチュートリアルをお試しください
LiveKit-オープンソースWeBRTCインフラストラクチャ
| 特徴 | アンドロイド | iOS | ウェブ | macos | Windows | Linux | 埋め込み | フクシア |
|---|---|---|---|---|---|---|---|---|
| オーディオ/ビデオ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | |
| データチャネル | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | |
| スクリーンキャプチャ | ✔✔️ | ✔✔️(*) | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | |
| 統一プラン | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | |
| 同時放送 | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | |
| mediarecorder | ✔✔️ | |||||||
| エンドツーエンド暗号化 | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | ✔✔️ | |
| 挿入可能なストリーム |
他のコミュニティからの追加のプラットフォーム/OSサポート
PubSpec.yamlファイルの依存関係としてflutter_webrtc追加します。
次のエントリを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リリースがiOSアームデバイスをサポートしなくなった後にコンパイルされたwebrtc.xframeworkは、 config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' yes/podfileにconfig.build_settingsを追加する必要があります
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<project root>/android/app/src/main/AndroidManifest.xmlにあるAndroidマニフェストファイルに次の許可があることを確認してください。
< 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 " />Bluetoothデバイスを使用する必要がある場合は、追加してください。
< uses-permission android : name = " android.permission.BLUETOOTH " android : maxSdkVersion = " 30 " />
< uses-permission android : name = " android.permission.BLUETOOTH_ADMIN " android : maxSdkVersion = " 30 " />フラッタープロジェクトテンプレートが追加されるため、すでにそこにある可能性があります。
また、公式のWebrtc JarがEglBaseインターフェイスで静的メソッドを使用するため、ビルド設定をJava 8に設定する必要があります。これをアプリレベルbuild.gradleに追加するだけです:
android {
// ...
compileOptions {
sourceCompatibility JavaVersion . VERSION_1_8
targetCompatibility JavaVersion . VERSION_1_8
}
}必要に応じて、同じbuild.gradleでは、 defaultConfigのminSdkVersion最大23に増やす必要があります(現在、デフォルトのフラッタージェネレーターを16に設定)。
リリースAPKをコンパイルするときは、次の操作を追加する必要があります。
このプロジェクトは、コミュニティの貢献者とは切り離せません。
その他の例については、Flutter-Webrtc-Demoを参照してください。
このプロジェクトは、貢献するすべての人々のおかげで存在します。 [貢献する]。
財政的な貢献者になり、コミュニティを維持するのを手伝ってください。 [貢献する]
組織でこのプロジェクトをサポートしてください。あなたのロゴは、あなたのウェブサイトへのリンクでここに表示されます。 [貢献する]