ปลั๊กอิน WebRTC สำหรับ Flutter Mobile/Desktop/Web
สนับสนุนด้วย? โดย
API ระดับองค์กรสำหรับฟีดแชทและวิดีโอ ลองสอนวิดีโอ Flutter
LiveKit - โครงสร้างพื้นฐาน WebRTC โอเพ่นซอร์ส
| คุณสมบัติ | Android | iOS | เว็บ | แม็กอส | หน้าต่าง | ลินเวกซ์ | ที่ฝังอยู่ | สีแดงแดง |
|---|---|---|---|---|---|---|---|---|
| เสียง/วิดีโอ | ||||||||
| ช่องข้อมูล | ||||||||
| การจับภาพหน้าจอ | (*) | |||||||
| แบบรวม | ||||||||
| การถ่ายทำ | ||||||||
| 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 >รายการนี้ช่วยให้แอปของคุณเข้าถึงกล้องและไมโครโฟน
webrtc.xframework ที่รวบรวมหลังจากการเปิดตัว M104 ไม่รองรับอุปกรณ์ 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 Manifest ของคุณซึ่งอยู่ใน <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 เพิ่มมันดังนั้นจึงอาจมีอยู่แล้ว
นอกจากนี้คุณจะต้องตั้งค่าการตั้งค่าบิลด์ของคุณเป็น Java 8 เนื่องจากตอนนี้ Jar WebRTC JAR อย่างเป็นทางการใช้วิธีการคงที่ในอินเทอร์เฟซ EglBase เพียงเพิ่มสิ่งนี้ลงในระดับแอพของคุณ build.gradle :
android {
// ...
compileOptions {
sourceCompatibility JavaVersion . VERSION_1_8
targetCompatibility JavaVersion . VERSION_1_8
}
} หากจำเป็นใน build.gradle เดียวกันคุณจะต้องเพิ่ม minSdkVersion ของ defaultConfig ถึง 23 (ปัจจุบันเครื่องกำเนิดไฟเริ่มต้นตั้งค่าเป็น 16 )
เมื่อคุณรวบรวม APK รีลีสคุณจะต้องเพิ่มการดำเนินการต่อไปนี้กฎการตั้งค่า proguard
โครงการแยกออกไม่ได้จากผู้มีส่วนร่วมของชุมชน
สำหรับตัวอย่างเพิ่มเติมโปรดดูที่ Flutter-Webrtc-Demo
โครงการนี้มีอยู่ขอบคุณทุกคนที่มีส่วนร่วม [มีส่วนช่วย].
เป็นผู้สนับสนุนทางการเงินและช่วยให้เราสนับสนุนชุมชนของเรา [มีส่วนช่วย]
สนับสนุนโครงการนี้กับองค์กรของคุณ โลโก้ของคุณจะปรากฏขึ้นที่นี่พร้อมลิงค์ไปยังเว็บไซต์ของคุณ [มีส่วนช่วย]