이 플러터 플러그인은 Agora Video SDK 용 래퍼입니다.
Agora.io는 간단하고 강력한 SDK를 통해 실시간 음성 및 비디오 커뮤니케이션을 추가 할 수있는 빌딩 블록을 제공합니다. Agora SDK를 통합하여 자신의 애플리케이션에서 실시간 통신을 신속하게 활성화 할 수 있습니다.
참고 :
main브랜치는 Agora Native SDK 4.X의 주요 업데이트 기반으로 일부 브레이크 변경 사항을 소개합니다. 이전 릴리스는 다음 지점 (버전 <6.0.0)을 참조하십시오.
- 5.x
이 플러그인을 사용하려면 pubspec.yaml 파일에 종속성으로 agora_rtc_engine 추가하십시오.
Agora Video SDK는 화상 통화를 시작하기 위해 Camera 및 Microphone 권한이 필요합니다.
최신 허가 설정은 https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=Android#project-Setup의 문서를 참조하십시오.
AndroidManifest.xml 파일에서 필요한 장치 권한을 참조하십시오.
< uses-permission android : name = " android.permission.INTERNET " />
< uses-permission android : name = " android.permission.READ_PHONE_STATE " />
< uses-permission android : name = " android.permission.RECORD_AUDIO " />
< uses-permission android : name = " android.permission.CAMERA " />
< uses-permission android : name = " android.permission.MODIFY_AUDIO_SETTINGS " />
< uses-permission android : name = " android.permission.ACCESS_WIFI_STATE " />
< uses-permission android : name = " android.permission.ACCESS_NETWORK_STATE " />
<!-- The Agora SDK requires Bluetooth permissions in case users are using Bluetooth devices. -->
< uses-permission android : name = " android.permission.BLUETOOTH " />
<!-- For Android 12 and above devices, the following permission is also required. -->
< uses-permission android : name = " android.permission.BLUETOOTH_CONNECT " />최신 허가 설정은 https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=ios#project-setup 문서를 참조하십시오.
Info.plist 열고 추가하십시오.
Privacy - Microphone Usage Description 및 Value 열에 설명을 추가하십시오.Privacy - Camera Usage Description 및 Value 열에 설명을 추가하십시오. 웹 용
agora_rtc_engine은 현재 알파 단계에 있으며 문서는 불완전하며 현재 데스크탑 웹에서만 테스트되었습니다.
agora_rtc_engine웹은 Agora Web SDK 4.X의 래퍼 인 Iris_Web 위에 구축되었습니다. 이를 통해 Agora Web SDK 4.X를 통해 기본 SDK (Android/iOS/MacOS/Windows) API를 조정하는 데 도움이됩니다. agora_rtc_engine 웹은 아래에 agora web sdk 4.x를 사용하므로 웹에서 기본 SDK API의 하위 집합 만 구현할 수 있습니다. API가-4오류 코드로AgoraRtcException반환하면이 API가 현재 지원되지 않음을 의미합니다.
iris_web 다운로드하고 (아래 링크 참조) 아티팩트를 다운로드하여 <your-project>/web/index.html 파일에 <script /> 태그로 포함하십시오. 예를 들어:
프로젝트 구조
<your-project>
|__web
|__index.html
|__iris-web-rtc_<x.y.z>.js
<!-- <your-project>/web/index.html -->
<!DOCTYPE html >
< html >
...
< body >
...
< script src =" iris-web-rtc_<x.y.z>.js " > </ script >
</ body >
</ html >다운로드 : https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js
테스트 목적
테스트 목적으로 Agora CDN에 직접 의존 할 수 있습니다.
<!-- <your-project>/web/index.html -->
<!DOCTYPE html >
< html >
...
< body >
...
< script src =" https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js " > </ script >
</ body >
</ html >참고 :이 기능에는
agora_rtc_engine> = 6.3.0이 필요합니다
성능 제약으로 인해 비디오 및 오디오 원시 데이터 처리와 같은 고급 기능의 직접 구현은 현재 플러터 측에서 실현 가능하지 않습니다.
Agora RTC Native SDK의 RtcEngine (Android) 또는 AgoraRtcEngineKit (iOS)의 기본 핸들을 사용하여 Flutter 내에서 RtcEngine 만들 수 있습니다. 이 접근법을 통해 Applice는 agora_rtc_engine 패키지를 통해 Agora RTC 네이티브 SDK의 고급 기능을 직접 활용하여 기본 기능과 Flutter의 환경 간의 격차를 해소 할 수 있습니다.
자세한 내용은 참조를 위해 ProcessVideORAWDATA 예제를 확인하십시오.
iOS가 릴리스 모드에서 작동하지 않는 문제가 발생하면 기호를 제거하지 않도록 아래 구성을 설정해야 할 수도 있습니다.
자세한 내용은 플러터 문서를 참조하십시오.
샘플 프로젝트와 관련하여 문제 나 제안이 있으면 문제를 제기하거나 요청을 풀어주십시오.
이 SDK 작업을 돕기 위해 Contributing.md를 참조하십시오.
프로젝트는 MIT 라이센스에 따라 있습니다.