Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

WebRTC plugin for Flutter Mobile/Desktop/Web

License

NotificationsYou must be signed in to change notification settings

flutter-webrtc/flutter-webrtc

Repository files navigation

Financial Contributors on Open Collectivepub packageGitterslack

WebRTC plugin for Flutter Mobile/Desktop/Web


Sponsored with 💖   by
Stream Chat
Enterprise Grade APIs for Feeds, Chat, & Video.Try the Flutter Video tutorial 💬


LiveKit
LiveKit - Open source WebRTC and realtime AI infrastructure

Functionality

FeatureAndroidiOSWebmacOSWindowsLinuxEmbeddedFuchsia
Audio/Video✔️✔️✔️✔️✔️✔️✔️
Data Channel✔️✔️✔️✔️✔️✔️✔️
Screen Capture✔️✔️(*)✔️✔️✔️✔️✔️
Unified-Plan✔️✔️✔️✔️✔️✔️✔️
Simulcast✔️✔️✔️✔️✔️✔️✔️
MediaRecorder⚠️⚠️✔️
End to End Encryption✔️✔️✔️✔️✔️✔️✔️
Insertable Streams

Additional platform/OS support from the other community

Addflutter_webrtc as adependency in your pubspec.yaml file.

iOS

Add the following entry to yourInfo.plist file, located in<project root>/ios/Runner/Info.plist:

<key>NSCameraUsageDescription</key><string>$(PRODUCT_NAME) Camera Usage!</string><key>NSMicrophoneUsageDescription</key><string>$(PRODUCT_NAME) Microphone Usage!</string>

This entry allows your app to access camera and microphone.

Note for iOS

The WebRTC.xframework compiled after the m104 release no longer supports iOS arm devices, so need to add theconfig.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' to your ios/Podfile in your project

ios/Podfile

post_installdo |installer|installer.pods_project.targets.eachdo |target|flutter_additional_ios_build_settings(target)target.build_configurations.eachdo |config|# Workaround for https://github.com/flutter/flutter/issues/64502config.build_settings['ONLY_ACTIVE_ARCH']='YES'# <= this lineendendend

Android

Ensure the following permission is present in your Android Manifest file, located in<project root>/android/app/src/main/AndroidManifest.xml:

<uses-featureandroid:name="android.hardware.camera" /><uses-featureandroid:name="android.hardware.camera.autofocus" /><uses-permissionandroid:name="android.permission.CAMERA" /><uses-permissionandroid:name="android.permission.RECORD_AUDIO" /><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permissionandroid:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS" />

If you need to use a Bluetooth device, please add:

<uses-permissionandroid:name="android.permission.BLUETOOTH"android:maxSdkVersion="30" /><uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN"android:maxSdkVersion="30" />

The Flutter project template adds it, so it may already be there.

Also you will need to set your build settings to Java 8, because official WebRTC jar now uses static methods inEglBase interface. Just add this to your app levelbuild.gradle:

android {//...    compileOptions {        sourceCompatibilityJavaVersion.VERSION_1_8        targetCompatibilityJavaVersion.VERSION_1_8    }}

If necessary, in the samebuild.gradle you will need to increaseminSdkVersion ofdefaultConfig up to23 (currently default Flutter generator set it to16).

Important reminder

When you compile the release apk, you need to add the following operations,Setup Proguard Rules

Contributing

The project is inseparable from the contributors of the community.

Example

For more examples, please refer toflutter-webrtc-demo.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]


[8]ページ先頭

©2009-2025 Movatter.jp