agoraio-community / agora-flutter-quickstart Goto Github PK
View Code? Open in Web Editor NEWQuickstart guide for the Agora Flutter SDK(Android/iOS)
License: MIT License
Quickstart guide for the Agora Flutter SDK(Android/iOS)
License: MIT License
怎么实现类似于微信视频通话可以呼叫对方而不是加入频道的形式呢
I've inserted the app id into the settings and try to run the app on debug which failed to run.
Was there any other instruction needed or did I have to build more on top to get the app to run?
I see only the method switchCamera.
If I understand, the SDK is using front camera by default.
How to choose the front camera on the beginning ?
How to know which camera is used (front or rear) ?
I am getting error 17 when removing AgoraRtcEngine.create(APP_ID);
to use the token instead of app id
hi ,
can we use this example to puild Video Broadcasting .
thank you
I have implemented the demo and working fine but I want to record the session and want to save audio or video in my SD card. Please suggest.
Thanks
the app works fine on individual device. i tried to run the app on two device at the same time so that the video call could be test. i could join in the channel created from one device in the second device but the video screen of the second device is not showing up. the two devices connected are iphone 7 and lenovo android phone. Any idea what that could be. below are the error showing in the terminal.
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 1 is dropped, handle=0x7f42a04000
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 5 is dropped, handle=0x7f427fd340
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 3 is dropped, handle=0x7f427fad20
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 6 is dropped, handle=0x7f42a041e0
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 4 is dropped, handle=0x7f7635d380
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 0 is dropped, handle=0x7f14bf85e0
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 2 is dropped, handle=0x7f14bf8680
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 1 is dropped, handle=0x7f42a04000
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 5 is dropped, handle=0x7f427fd340
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 3 is dropped, handle=0x7f427fad20
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 6 is dropped, handle=0x7f42a041e0
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: fps=28.60 dur=1014.09 max=76.89 min=4.86
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 4 is dropped, handle=0x7f7635d380
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 0 is dropped, handle=0x7f14bf85e0
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 2 is dropped, handle=0x7f14bf8680
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 1 is dropped, handle=0x7f42a04000
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 5 is dropped, handle=0x7f427fd340
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 3 is dropped, handle=0x7f427fad20
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 6 is dropped, handle=0x7f42a041e0
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 4 is dropped, handle=0x7f7635d380
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 0 is dropped, handle=0x7f14bf85e0
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 2 is dropped, handle=0x7f14bf8680
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 1 is dropped, handle=0x7f42a04000
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 5 is dropped, handle=0x7f427fd340
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 3 is dropped, handle=0x7f427fad20
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 6 is dropped, handle=0x7f42a041e0
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 4 is dropped, handle=0x7f7635d380
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 0 is dropped, handle=0x7f14bf85e0
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 2 is dropped, handle=0x7f14bf8680
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 1 is dropped, handle=0x7f42a04000
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 5 is dropped, handle=0x7f427fd340
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 3 is dropped, handle=0x7f427fad20
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 6 is dropped, handle=0x7f42a041e0
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 4 is dropped, handle=0x7f7635d380
I/CameraFramework( 4992): handleMessage: 16
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 0 is dropped, handle=0x7f14bf85e0
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 2 is dropped, handle=0x7f14bf8680
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 1 is dropped, handle=0x7f42a04000
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 5 is dropped, handle=0x7f427fd340
I/CameraFramework( 4992): handleMessage: 16
I/BufferQueueProducer( 4992): SurfaceTexture-42-4992-3 queueBuffer: slot 3 is dropped, handle=0x7f427fad20
我这边用go生成token,不知道为何,token中总是有空格。
然后传递给flutter端,然后加入频道失败。
下边是我的go代码
这是 用这些代码生成的token:
00679ac8152c1394babaf20f341ad76e04cIACcj7qfrVmNJJW/lDpwiq8z0wMp45CSt UlUpLBOT7M8uuR0YQAAAAAIgAzFjECH/QGXgQAAQAAAAAAAgAAAAAAAwAAAAAABAAAAAAA
这是 flutter收到的token打印的log:
感觉go后端生成的token其中不知道为何增加了个换行,
手机端flutter这边获得到的就是个带有空格的token。
就加入频道一直失败了
I just download agora-quickstart-flutter from GitHub and update some dependencies and run some video call test, suddenly it got crashed when 3 users joined channel. I had tried revert back origin code but no luck.
This is my flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.9.1+hotfix.2, on Mac OS X 10.15.1 19B88, locale
en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
[✓] Android Studio (version 3.5)
[✓] Connected device (2 available)
• No issues found!
This is my build gradle:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
// splits {
// // Configures multiple APKs based on ABI.
// abi {
// // Enables building multiple APKs per ABI.
// enable true
// // By default all ABIs are included, so use reset() and include to specify that we only
// // want APKs for armeabi-v7a and arm64-v8a.
//
// // Resets the list of ABIs that Gradle should create APKs for to none.
// reset()
//
// // Specifies a list of ABIs that Gradle should create APKs for.
// include "armeabi-v7a", "arm64-v8a"
//
// // Specifies that we do not want to also generate a universal APK that includes all ABIs.
// universalApk false
// }
// }
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.agoraflutterquickstart"
minSdkVersion 21
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// Use code below for production build
// For debug mode you need to comment above lines of code
// Issue with 'libflutter.so'
// ndk {
// abiFilters 'armeabi-v7a', 'x86' ,'arm64-v8a'
// }
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
}
This is crash log:
W/System ( 6123): A resource failed to call release.
E/RtcEngine( 6123): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 6123): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/flutter ( 6123): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.AbstractMethodError: abstract method "void io.flutter.plugin.platform.PlatformView.onInputConnectionLocked()"
E/flutter ( 6123): at io.flutter.plugin.platform.VirtualDisplayController.onInputConnectionLocked(VirtualDisplayController.java:166)
E/flutter ( 6123): at io.flutter.plugin.platform.PlatformViewsController.lockInputConnection(PlatformViewsController.java:370)
E/flutter ( 6123): at io.flutter.plugin.platform.PlatformViewsController.access$1000(PlatformViewsController.java:36)
E/flutter ( 6123): at io.flutter.plugin.platform.PlatformViewsController$1.resizePlatformView(PlatformViewsController.java:165)
E/flutter ( 6123): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.resize(PlatformViewsChannel.java:120)
E/flutter ( 6123): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:57)
E/flutter ( 6123): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
E/flutter ( 6123): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:96)
E/flutter ( 6123): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:656)
E/flutter ( 6123): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 6123): at android.os.MessageQueue.next(MessageQueue.java:326)
E/flutter ( 6123): at android.os.Looper.loop(Looper.java:160)
E/flutter ( 6123): at android.app.ActivityThread.main(ActivityThread.java:6669)
E/flutter ( 6123): at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 6123): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/flutter ( 6123): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/flutter ( 6123):
F/flutter ( 6123): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
F/libc ( 6123): Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 6123 (utterquickstart), pid 6123 (utterquickstart)
Build fingerprint: 'google/sdk_gphone_x86_arm/generic_x86_arm:9/PSR1.180720.117/5875966:user/release-keys'
Revision: '0'
ABI: 'x86'
pid: 6123, tid: 6123, name: utterquickstart >>> com.example.agoraflutterquickstart <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
'
eax 00000000 ebx 000017eb ecx 000017eb edx 00000006
edi 000017eb esi 00000070
ebp ffa45b88 esp ffa45b28 eip f66ccb39
backtrace:
#00 pc 00000b39 [vdso:f66cc000] (__kernel_vsyscall+9)
#1 pc 0001fdf8 /system/lib/libc.so (syscall+40)
#2 pc 00022ed3 /system/lib/libc.so (abort+115)
#3 pc 01115f65 /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#4 pc 0110443b /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#5 pc 01102202 /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#6 pc 011622ad /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#7 pc 01114729 /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#8 pc 01116ce8 /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#9 pc 01116c2a /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#10 pc 0111d678 /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#11 pc 0111d6a6 /data/app/com.example.agoraflutterquickstart-EY7SOGLh4FcJC9ZOylv2Gg==/lib/x86/libflutter.so (offset 0x10fb000)
#12 pc 00012a77 /system/lib/libutils.so (android::SimpleLooperCallback::handleEvent(int, int, void*)+39)
#13 pc 00013896 /system/lib/libutils.so (android::Looper::pollInner(int)+998)
#14 pc 0001340b /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+43)
#15 pc 000e415b /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
#16 pc 003ddb28 /system/framework/x86/boot-framework.oat (offset 0x3ca000) (android.media.MediaExtractor.seekTo [DEDUPED]+136)
#17 pc 00001806 /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.MessageQueue.next+230)
#18 pc 005f0a02 /system/lib/libart.so (art_quick_invoke_stub+338)
#19 pc 000a2f4e /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+222)
#20 pc 0029bb22 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+338)
#21 pc 00293cc8 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1048)
#22 pc 005bc353 /system/lib/libart.so (MterpInvokeVirtual+691)
#23 pc 005e2ba1 /system/lib/libart.so (ExecuteMterpImpl+14241)
#24 pc 00aea9fc /system/framework/boot-framework.vdex (android.os.Looper.loop+128)
#25 pc 00266096 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3007865774+598)
#26 pc 0026c61c /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
#27 pc 00293cab /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
#28 pc 005bdb1f /system/lib/libart.so (MterpInvokeStatic+207)
#29 pc 005e2d21 /system/lib/libart.so (ExecuteMterpImpl+14625)
#30 pc 00384cd2 /system/framework/boot-framework.vdex (android.app.ActivityThread.main+214)
#31 pc 00266096 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3007865774+598)
#32 pc 0026c50e /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126)
#33 pc 005a93fd /system/lib/libart.so (artQuickToInterpreterBridge+1277)
#34 pc 005f6aed /system/lib/libart.so (art_quick_to_interpreter_bridge+77)
#35 pc 005f0bd2 /system/lib/libart.so (art_quick_invoke_static_stub+418)
#36 pc 000a2f5f /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+239)
#37 pc 004d3209 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+89)
#38 pc 004d4eee /system/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1422)
#39 pc 00449643 /system/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+83)
#40 pc 0011d778 /system/framework/x86/boot.oat (offset 0x114000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+168)
#41 pc 005f0a02 /system/lib/libart.so (art_quick_invoke_stub+338)
#42 pc 000a2f4e /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+222)
#43 pc 0029bb22 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+338)
#44 pc 00293cc8 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1048)
#45 pc 005bc353 /system/lib/libart.so (MterpInvokeVirtual+691)
#46 pc 005e2ba1 /system/lib/libart.so (ExecuteMterpImpl+14241)
#47 pc 00c0b966 /system/framework/boot-framework.vdex (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
#48 pc 00266096 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3007865774+598)
#49 pc 0026c50e /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126)
#50 pc 005a93fd /system/lib/libart.so (artQuickToInterpreterBridge+1277)
#51 pc 005f6aed /system/lib/libart.so (art_quick_to_interpreter_bridge+77)
#52 pc 00badc2c /system/framework/x86/boot-framework.oat (offset 0x3ca000) (com.android.internal.os.ZygoteInit.main+3100)
#53 pc 005f0bd2 /system/lib/libart.so (art_quick_invoke_static_stub+418)
#54 pc 000a2f5f /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+239)
#55 pc 004d3209 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+89)
#56 pc 004d2e8d /system/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*)+429)
#57 pc 003a770d /system/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+925)
#58 pc 000d90f3 /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, char*, art::Primitive::Type, art::InvokeType)+2867)
#59 pc 000c6ba9 /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+73)
#60 pc 0007098e /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+62)
#61 pc 00073e88 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+744)
#62 pc 00001bb2 /system/bin/app_process32 (main+1506)
#63 pc 000c0f54 /system/lib/libc.so (__libc_init+100)
This is my proguard:
#Flutter Wrapper
-keep class io.flutter.app.** { ; }
-keep class io.flutter.plugin.* { ; }
-keep class io.flutter.util.* { ; }
-keep class io.flutter.view.* { ; }
-keep class io.flutter.* { ; }
-keep class io.flutter.plugins.* { ; }
-keep class io.agora.* { *; }
my app will be crash after build ( in debug mode no problem )
msg: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/...-gAgmOrLJRgDIgKsakE2QEw==/base.apk"],nativeLibraryDirectories=[/data/app/...-gAgmOrLJRgDIgKsakE2QEw==/lib/arm64, /data/app/...-gAgmOrLJRgDIgKsakE2QEw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] couldn't find "libflutter.so"
stacktrace: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/...-gAgmOrLJRgDIgKsakE2QEw==/base.apk"],nativeLibraryDirectories=[/data/app/...-gAgmOrLJRgDIgKsakE2QEw==/lib/arm64, /data/app/...-gAgmOrLJRgDIgKsakE2QEw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]] couldn't find "libflutter.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
at java.lang.System.loadLibrary(System.java:1669)
at io.flutter.view.FlutterMain.startInitialization(FlutterMain.java:161)
at io.flutter.view.FlutterMain.startInitialization(FlutterMain.java:136)
at io.flutter.app.FlutterApplication.onCreate(FlutterApplication.java:22)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5932)
at android.app.ActivityThread.access$1100(ActivityThread.java:202)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1658)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6739)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:495)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:859)
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "..." //my app
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
abiFilters 'armeabi-v7a', 'x86' ,'arm64-v8a'
}
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
[√] Flutter (Channel stable, v1.5.4-hotfix.2, on Microsoft Windows [Version
10.0.17763.194], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.3)
[√] Connected device (1 available)
• No issues found!
i use ndk
ndk {
abiFilters 'armeabi-v7a', 'x86' ,'arm64-v8a'
}
onUserMuteVideo is missing in flutter as exists in android
could you please add it;
setParameter is not exported to flutter;
你们的广告挡住页面内容了,垃圾流氓软件
When I download this example project, it's working perfectly.
but when I create a new flutter project & copy the same code, it only shows a black screen for video. I tried this for the last 15 hours but still couldn't figure out
What I did
lib
folder from this example to the newly created projectpubspec.yaml
AndroidManifest.xml
After running the app, it shows only a black screen for video. All remaining staff working fine such as audio, join the channel, remove the channel
Flutter Doctor Output:
[✓] Flutter (Channel master, v1.13.4-pre.13, on Mac OS X 10.14.4 18E226, locale en-GB)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 10.2)
[✓] Android Studio (version 3.3)
[✓] VS Code (version 1.41.0)
[✓] Connected device (2 available)
! Doctor found issues in 1 category.
I found this error when a user joins the channel
I cloned this repo and ran it as is. It works, but I'm getting many errors in the log. Any idea why?
I'm running it on the android emulator - Pixel 3 API 28 Pie.
W/Settings( 7374): Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
E/BluetoothAdapter( 7374): Bluetooth binder is null
E/libc ( 7374): Access denied finding property "net.dns1"
E/libc ( 7374): Access denied finding property "net.dns2"
E/libc ( 7374): Access denied finding property "net.dns3"
E/libc ( 7374): Access denied finding property "net.dns4"
E/BluetoothAdapter( 7374): Bluetooth binder is null
I/chatty ( 7374): uid=10086(com.example.agoraflutterquickstart) identical 6 lines
E/BluetoothAdapter( 7374): Bluetooth binder is null
E/libc ( 7374): Access denied finding property "net.dns1"
E/libc ( 7374): Access denied finding property "net.dns2"
E/libc ( 7374): Access denied finding property "net.dns3"
E/libc ( 7374): Access denied finding property "net.dns4"
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
D/ ( 7374): HostConnection::get() New Host Connection established 0x8c55ba00, tid 7393
W/Thread-26( 7374): type=1400 audit(0.0:110): avc: denied { node_bind } for scontext=u:r:untrusted_app:s0:c86,c256,c512,c768 tcontext=u:object_r:node:s0 tclass=rawip_socket permissive=0
E/libc ( 7374): Access denied finding property "net.dns1"
E/libc ( 7374): Access denied finding property "net.dns2"
E/libc ( 7374): Access denied finding property "net.dns3"
E/libc ( 7374): Access denied finding property "net.dns4"
D/ ( 7374): HostConnection::get() New Host Connection established 0x829cd500, tid 7472
D/EGL_emulation( 7374): eglCreateContext: 0x83aeb700: maj 3 min 1 rcv 4
D/EGL_emulation( 7374): eglMakeCurrent: 0xec3858a0: ver 3 1 (tinfo 0x8caffe40)
D/EGL_emulation( 7374): eglMakeCurrent: 0x83aeb700: ver 3 1 (tinfo 0x82a3da40)
E/eglCodecCommon( 7374): glUtilsParamSize: unknow param 0x000082da
E/eglCodecCommon( 7374): glUtilsParamSize: unknow param 0x000082da
I/AGORA_SDK( 7374): Surface changed to width 1080 height 1123
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
D/gralloc_ranchu( 7374): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7374): HostConnection::get() New Host Connection established 0x8c55ba00, tid 7393
W/AudioTrack( 7374): Use of stream types is deprecated for operations other than volume control
W/AudioTrack( 7374): See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case
D/gralloc_ranchu( 7374): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7374): HostConnection::get() New Host Connection established 0x8c55ba00, tid 7393
D/gralloc_ranchu( 7374): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7374): HostConnection::get() New Host Connection established 0x8c55ba00, tid 7393
D/gralloc_ranchu( 7374): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7374): HostConnection::get() New Host Connection established 0x8c55ba00, tid 7393
D/EGL_emulation( 7374): eglMakeCurrent: 0xec3858a0: ver 3 1 (tinfo 0x8caffe40)
D/ ( 7374): HostConnection::get() New Host Connection established 0x8cac3300, tid 7478
E/BluetoothAdapter( 7374): Bluetooth binder is null
I/chatty ( 7374): uid=10086(com.example.agoraflutterquickstart) identical 5 lines
E/BluetoothAdapter( 7374): Bluetooth binder is null
D/EGL_emulation( 7374): eglCreateContext: 0x89826200: maj 3 min 1 rcv 4
E/BluetoothAdapter( 7374): Bluetooth binder is null
D/EGL_emulation( 7374): eglMakeCurrent: 0x89826200: ver 3 1 (tinfo 0x89847a80)
E/eglCodecCommon( 7374): glUtilsParamSize: unknow param 0x000082da
E/eglCodecCommon( 7374): glUtilsParamSize: unknow param 0x000082da
I/AGORA_SDK( 7374): Surface changed to width 1080 height 1808
D/EGL_emulation( 7374): eglMakeCurrent: 0xec3858a0: ver 3 1 (tinfo 0x8caffe40)
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
I/utterquickstar( 7374): Background concurrent copying GC freed 25457(6MB) AllocSpace objects, 3(60KB) LOS objects, 53% free, 1314KB/2MB, paused 6.186ms total 32.210ms
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
E/RtcEngine( 7374): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
能在x86Android上正常运行,但 在 MI8,vivo Y67上无法正常运行,一打开,就闪退了
Hello everyone, i'm developing a Flutter application.
I integrated the Flutter sdk with the app, on android is all ok, on Ios i have a problem: i can join the channel but i can't see the video, there's a black screen.
The app can access on camera and mic.
How can i solve this??
getAudioMixingCurrentPosition 返回的是void 怎么得到类似android 平台返回的int值
I am trying to use agora and flutter to include live video broadcasting in my app. My host video is full screen and my audience video is half screen consistently. How do I fix this? I would like the host video and the audience video to be display the full screen.
Host code snippet
void initialize() {
_initAgoraRtcEngine();
_addAgoraEventHandlers();
_addRenderView(0, (viewId) {
AgoraRtcEngine.setChannelProfile(ChannelProfile.LiveBroadcasting);
AgoraRtcEngine.setClientRole(ClientRole.Broadcaster);
AgoraRtcEngine.setupLocalVideo(viewId, VideoRenderMode.Hidden);
// state can access widget directly
AgoraRtcEngine.joinChannel(null, "test", null, 0);
});
}
Future<void> _initAgoraRtcEngine() async {
AgoraRtcEngine.create(APP_ID);
VideoEncoderConfiguration config = new VideoEncoderConfiguration();
config.dimensions = Size(3840, 2160);
config.frameRate = 30;
config.orientationMode = VideoOutputOrientationMode.Adaptative;
config.bitrate = 3420;
AgoraRtcEngine.setVideoEncoderConfiguration(config);
AgoraRtcEngine.enableVideo();
}
void _addAgoraEventHandlers() {
AgoraRtcEngine.onError = (int code) {
setState(() {
String info = 'onError: ' + code.toString();
_infoStrings.add(info);
});
};
AgoraRtcEngine.onUserJoined = (int uid, int elapsed) {
setState(() {
String info = 'userJoined: ' + uid.toString();
_infoStrings.add(info);
_addRenderView(uid, (viewId) {
AgoraRtcEngine.setupRemoteVideo(viewId, VideoRenderMode.Hidden, uid);
});
});
};
Audience code snippet
void initialize() {
_initAgoraRtcEngine();
_addAgoraEventHandlers();
_addRenderView(1, (viewId) {
AgoraRtcEngine.setChannelProfile(ChannelProfile.LiveBroadcasting);
AgoraRtcEngine.setClientRole(ClientRole.Audience);
AgoraRtcEngine.setupRemoteVideo(viewId, VideoRenderMode.Hidden, 0);
AgoraRtcEngine.joinChannel(null, "test", null, 0);
});
}
Future<void> _initAgoraRtcEngine() async {
AgoraRtcEngine.create(APP_ID);
VideoEncoderConfiguration config = new VideoEncoderConfiguration();
config.dimensions = Size(1920, 1080);
config.frameRate = 30;
config.orientationMode = VideoOutputOrientationMode.Adaptative;
config.bitrate = 3420;
AgoraRtcEngine.setVideoEncoderConfiguration(config);
AgoraRtcEngine.enableVideo();
}
void _addAgoraEventHandlers() {
AgoraRtcEngine.onError = (int code) {
setState(() {
String info = 'onError: ' + code.toString();
_infoStrings.add(info);
});
};
AgoraRtcEngine.onUserJoined = (int uid, int elapsed) {
setState(() {
String info = 'userJoined: ' + uid.toString();
_infoStrings.add(info);
_addRenderView(uid, (viewId) {
AgoraRtcEngine.setRemoteRenderMode(uid, VideoRenderMode.Hidden);
AgoraRtcEngine.setupRemoteVideo(viewId, VideoRenderMode.Hidden, uid);
});
});
};
What is the way to receive incoming call Instead of joining
Hi, I'm using the draggable widget for moving the LocalVideo, the video is working fine and dragging is also working fine but Error code 17 is coming whenever the dragging is finished.
I am trying to use this sdk but I got black screen in both android device and emulator.
W/VideoCapabilities(13641): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(13641): Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities(13641): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(13641): Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities(13641): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(13641): Unrecognized profile 2130706434 for video/avc
setLiveTranscoding returns PlatformException, Following is the log
E/flutter (11305): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, length=3; index=100, null)
E/flutter (11305): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter (11305): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method create on channel agora_rtc_engine)
#0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:7)
#1 AgoraRtcEngine.create (package:agora_rtc_engine/agora_rtc_engine.dart:213:27)
#2 _RTCConnectedState._initAgoraRtcEngine (package:smartnote_flutter/rtc/rtc_connected.dart:105:26)
现有原生工程里已集成了RTM和RTC,RTC已注释,求解。
In iOS, the screen is blank.
I entered the same channel from android, there, I can see the video being rendered from the iOS as well. In IOS too, the sound is coming. Only the issue is video is not being rendered in ios. I already read the closed issue on the same problem. There he has permission issues. I already give the permission and still the screen is blank.
The app crashes as soon as i try to enter a channel name and click on join in release mode .
I have added the keep class statement to my proguard file and also removed 'arm-v8a- from the ndk in build.gradle.
This is my log. Please help!
'''
E/flutter ( 5813): [ERROR:flutter/shell/platform/android/platform_view_android_jni.cc(39)] java.lang.NoSuchMethodError: no static or non-static method "Lio/agora/rtc/internal/RtcEngineImpl;.nativeGetParameters(JLjava/lang/String;)Ljava/lang/String;"
E/flutter ( 5813): at java.lang.Runtime.nativeLoad(Native Method)
E/flutter ( 5813): at java.lang.Runtime.doLoad(Runtime.java:435)
E/flutter ( 5813): at java.lang.Runtime.loadLibrary(Runtime.java:370)
E/flutter ( 5813): at java.lang.System.loadLibrary(System.java:1076)
E/flutter ( 5813): at io.agora.rtc.internal.RtcEngineImpl.E(Unknown Source)
E/flutter ( 5813): at io.agora.rtc.internal.RtcEngineImpl.F(Unknown Source)
E/flutter ( 5813): at io.agora.rtc.c.a(Unknown Source)
E/flutter ( 5813): at io.agora.a.c.onMethodCall(Unknown Source)
E/flutter ( 5813): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(Unknown Source)
E/flutter ( 5813): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(Unknown Source)
E/flutter ( 5813): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source)
E/flutter ( 5813): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 5813): at android.os.MessageQueue.next(MessageQueue.java:323)
E/flutter ( 5813): at android.os.Looper.loop(Looper.java:135)
E/flutter ( 5813): at android.app.ActivityThread.main(ActivityThread.java:5539)
E/flutter ( 5813): at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 5813): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
E/flutter ( 5813): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
E/flutter ( 5813):
F/flutter ( 5813): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(76)] Check failed: CheckException(env).
'''
i just downloaded Agora-Flutter-Quickstart and test on IOS, IOS got crash immediately on iphone 6s when my android device joined the channel. The problem is if AgoraRenderWidget got 2 of more views it will crash when i replace AgoraRenderWidget to Container it worked fine.
Here is the last logs:
STREAM ( 0:13:33:515 | 15) 53519; IncomingFrame width 640, height 480 APICALL ( 0:13:33:515 | 68) 2583; SendCodec STREAM ( 0:13:33:515 | 0) 2583; SetCSRCs: APICALL ( 0:13:33:515 | 0) 2583; SendCodec APICALL ( 0:13:33:515 | 0) 2583; SendCodec type MODCALL ( 0:13:33:517 | 2) 79155; Sending() MODCALL ( 0:13:33:517 | 0) 79155; CurrentSendFrequencyHz() MODCALL ( 0:13:33:517 | 0) 79155; PacketCountSent() MODCALL ( 0:13:33:517 | 0) 79155; ByteCountSent() MEMORY ( 0:13:33:520 | 3) 86643; ~IncomingVideoStream deleted for stream 0 WARN ( 0:13:33:520 | 0) 86643; Stop: Not running INFO ( 0:13:33:528 | 8) 86643; AgoraVideoOutput::Destroy INFO ( 0:13:33:529 | 1) 86643; stopLocalRender success INFO ( 0:13:33:529 | 0) 86643; doStartLocalRender: init? 1 capture id -1 device 1 capturing? 1 rendering? 0 INFO ( 0:13:33:529 | 0) 86643; doStartLocalRender: local render windows 0x1032c3ad0 INFO ( 0:13:33:529 | 0) 86643; AgoraVideoOutput::Init thread=0, type=100, view=0x1032c3ad0 INFO ( 0:13:33:529 | 0) 771; create child view ERROR ( 0:13:33:529 | 0) 771; container.frame.size is invalid, height 0, width 0. STREAM ( 0:13:33:548 | 19) 53519; IncomingFrame width 640, height 480 Lost connection to device.
打包签名apk后,安装直接退出,无法打开
there are so many following errors repeatly; is there anything wrong with my code, how to avoid it;
D/LowLatencyEvent(20825): failed to ReadFd(0, 0) return 8, expected 16, errno 0
I/GRALLOC (20825): LockFlexLayout: baseFormat: 11, yStride: 640, ySize: 307200, uOffset: 307200, uStride: 640
我现在使用语音通话只能用视频通话的api了,视频逻辑那些大部分都不能该,否则就会报错了。。。 请问下能提供下 flutter 版的 语音通话的api么 大神。。。
有时候进去会报这个
W/SettingsInterface(17412): Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
或者是这种的
W/ServiceManager(27791): Permission failure: android.permission.READ_PHONE_STATE from uid=10291 pid=27791
E/CheckPermission(27791): Permission Denial: can't access location pid=27791, uid=10291
W/Settings(27791): Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
Just a bug report.
I build sample code of this repository.
When start AgoraRTC video chat, the following error occurred.
I/AGORA_SDK(32650): Surface changed to width 1080 height 1808
E/RtcEngine(32470): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
What should I do ?
Steps to reproduce.
Make a new flutter project. import the agora sdk and do simple steps to make both parties join a single video call.
once both parties are in the channel we receive this error
Access denied finding property "net.dns1"
E/libc (27366): Access denied finding property "net.dns2"
E/libc (27366): Access denied finding property "net.dns3"
E/libc (27366): Access denied finding property "net.dns4"
yesterday it was fine i didnt changed anything in the code. also, i tried different app id on agora.io
thanks
我按照步骤编译,第一次编译时会出现这个异常,第二次就没有了
注: /Users/litavadaski/HOME/src/flutter/.pub-cache/hosted/pub.flutter-io.cn/agora_rtc_engine-0.9.1/android/src/main/java/ioagora/agorartcengine/AgoraRtcEnginePlugin.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
fluter版本号
Flutter 1.0.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5391447fae (2 months ago) • 2018-11-29 19:41:26 -0800
Engine • revision 7375a0f414
Tools • Dart 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)
大佬门辛苦啦
How a user can show calling screen so the user can accept and decline Video call.
anyone know how this can be done
thanks
I cloned the project from Agora/Flutter repository and then I ran the same program on two devices (android emulator and Redmi 7). The problem is because when I type the channel on a device it opens the call (ok) then I type the same text on another device it's like another channel has been created --> they dont't share the channel splitting their screen.
Flutter doctor:
`Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Linux, locale pt_BR.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[!] Android Studio (version 3.4)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.36.1)
[✓] Connected device (2 available)
! Doctor found issues in 1 category.`
build.gradle:
`def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.agoraflutterquickstart"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// Use code below for production build
// For debug mode you need to comment above lines of code
// Issue with 'libflutter.so'
ndk {
abiFilters 'armeabi-v7a', 'x86' ,'arm64-v8a'
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}`
AndroidManifest.xml:
`
<!-- The INTERNET permission is required for development. Specifically,
flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<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_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<application
android:name="io.flutter.app.FlutterApplication"
android:label="agora_flutter_quickstart"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- This keeps the window background of the activity showing
until Flutter renders its first frame. It can be removed if
there is no splash screen (such as the default splash screen
defined in @style/LaunchTheme). -->
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
pubspec.yaml:
name: agora_flutter_quickstart
description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
agora_rtc_engine:
permission_handler:
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
`
Logs:
`Using hardware rendering with device Android SDK built for x86. If you get graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib/main.dart on Redmi Note 7 in debug mode...
Initializing gradle... 0,6s
Resolving dependencies... 1,3s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 1,4s
Built build/app/outputs/apk/debug/app-debug.apk.
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 12,5s
Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk... 1,9s
D/EGL_emulation( 7025): eglMakeCurrent: 0xe83855a0: ver 2 0 (tinfo 0xe8383720)
I/Choreographer( 7025): Skipped 53 frames! The application may be doing too much work on its main thread.
D/EGL_emulation( 7025): eglMakeCurrent: 0xe83855a0: ver 2 0 (tinfo 0xe8383720)
D/EGL_emulation( 7025): eglMakeCurrent: 0xe6926f40: ver 2 0 (tinfo 0xd00877a0)
I/OpenGLRenderer( 7025): Davey! duration=942ms; Flags=1, IntendedVsync=7277932346150, Vsync=7278815679448, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=7278826050994, AnimationStart=7278826120675, PerformTraversalsStart=7278827271328, DrawStart=7278831537179, SyncQueued=7278832803570, SyncStart=7278838923459, IssueDrawCommandsStart=7278839023693, SwapBuffers=7278848193718, FrameCompleted=7278881338849, DequeueBufferDuration=18144000, QueueBufferDuration=112000,
Syncing files to device Redmi Note 7... 1.343ms
Syncing files to device Android SDK built for x86... 1.152ms
🔥 To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
An Observatory debugger and profiler on Redmi Note 7 is available at: http://127.0.0.1:37375/g2dhgvGVRgU=/
An Observatory debugger and profiler on Android SDK built for x86 is available at: http://127.0.0.1:43477/E40fBWNjJIc=/
For a more detailed help message, press "h". To detach, press "d"; to quit, press "q".
W/Settings( 7025): Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
E/BluetoothAdapter( 7025): Bluetooth binder is null
E/libc ( 7025): Access denied finding property "net.dns1"
E/libc ( 7025): Access denied finding property "net.dns2"
E/libc ( 7025): Access denied finding property "net.dns3"
E/libc ( 7025): Access denied finding property "net.dns4"
D/ ( 7025): HostConnection::get() New Host Connection established 0xcee2ecc0, tid 7067
E/libc ( 7025): Access denied finding property "net.dns1"
E/libc ( 7025): Access denied finding property "net.dns2"
E/libc ( 7025): Access denied finding property "net.dns3"
E/libc ( 7025): Access denied finding property "net.dns4"
D/WEBRTCN( 7025): SetRenderAndroidVM
D/ ( 7025): HostConnection::get() New Host Connection established 0xc6fffe40, tid 7077
D/EGL_emulation( 7025): eglCreateContext: 0xcbac9ca0: maj 2 min 0 rcv 2
E/BluetoothAdapter( 7025): Bluetooth binder is null
E/BluetoothAdapter( 7025): Bluetooth binder is null
E/BluetoothAdapter( 7025): Bluetooth binder is null
I/chatty ( 7025): uid=10089(com.example.agoraflutterquickstart) identical 4 lines
E/BluetoothAdapter( 7025): Bluetooth binder is null
E/libc ( 7025): Access denied finding property "net.dns1"
E/libc ( 7025): Access denied finding property "net.dns2"
E/libc ( 7025): Access denied finding property "net.dns3"
E/libc ( 7025): Access denied finding property "net.dns4"
D/EGL_emulation( 7025): eglMakeCurrent: 0xcbac9ca0: ver 2 0 (tinfo 0xc932aac0)
I/AGORA_SDK( 7025): Surface changed to width 1080 height 843
D/EGL_emulation( 7025): eglMakeCurrent: 0xe6926f40: ver 2 0 (tinfo 0xd00877a0)
W/VideoCapabilities( 7025): Unrecognized profile 4 for video/hevc
I/VideoCapabilities( 7025): Unsupported profile 4 for video/mp4v-es
I/CameraManagerGlobal( 7025): Connecting to camera service
D/gralloc_ranchu( 7025): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7025): HostConnection::get() New Host Connection established 0xcee2ecc0, tid 7067
D/gralloc_ranchu( 7025): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
E/RtcEngine( 7025): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
D/ ( 7025): HostConnection::get() New Host Connection established 0xc8e54780, tid 7072
W/Thread-53( 7025): type=1400 audit(0.0:78): avc: denied { node_bind } for scontext=u:r:untrusted_app:s0:c89,c256,c512,c768 tcontext=u:object_r:node:s0 tclass=rawip_socket permissive=0
D/gralloc_ranchu( 7025): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7025): HostConnection::get() New Host Connection established 0xc8e54780, tid 7072
D/gralloc_ranchu( 7025): gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)
D/ ( 7025): HostConnection::get() New Host Connection established 0xc8e54780, tid 7072
D/EGL_emulation( 7025): eglMakeCurrent: 0xe6926f40: ver 2 0 (tinfo 0xd00877a0)
D/WEBRTCN( 7025): StartRender: thread started: 3286243696
D/ ( 7025): HostConnection::get() New Host Connection established 0xc8fff500, tid 7099
D/EGL_emulation( 7025): eglCreateContext: 0xc8fa1ba0: maj 2 min 0 rcv 2
D/EGL_emulation( 7025): eglMakeCurrent: 0xc8fa1ba0: ver 2 0 (tinfo 0xd01626a0)
I/AGORA_SDK( 7025): Surface changed to width 1080 height 1584
D/EGL_emulation( 7025): eglMakeCurrent: 0xe6926f40: ver 2 0 (tinfo 0xd00877a0)
D/ ( 7025): HostConnection::get() New Host Connection established 0xcee2ecc0, tid 7067
D/ ( 7025): HostConnection::get() New Host Connection established 0xc8d7dc00, tid 7100
D/ ( 7025): HostConnection::get() New Host Connection established 0xe83a06c0, tid 7040
W/Settings(24652): Setting android_id has moved from android.provider.Settings.System to android.provider.Settings.Secure, returning read-only value.
I/AudioManager(24652): In isBluetoothScoOn(), calling application: com.example.agoraflutterquickstart
E/libc (24652): Access denied finding property "net.dns1"
E/libc (24652): Access denied finding property "net.dns2"
E/libc (24652): Access denied finding property "net.dns3"
E/libc (24652): Access denied finding property "net.dns4"
E/libc (24652): Access denied finding property "net.dns1"
E/libc (24652): Access denied finding property "net.dns2"
E/libc (24652): Access denied finding property "net.dns3"
E/libc (24652): Access denied finding property "net.dns4"
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
W/utterquickstart(24652): type=1400 audit(0.0:57823): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=12717 scontext=u:r:untrusted_app:s0:c93,c257,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
D/WEBRTCN(24652): SetRenderAndroidVM
I/AGORA_SDK(24652): Surface changed to width 1080 height 1291
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In setSpeakerphoneOn(), on: false, calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In setSpeakerphoneOn(), on: true, calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
I/AudioManager(24652): In isSpeakerphoneOn(), calling application: com.example.agoraflutterquickstart
E/libc (24652): Access denied finding property "net.dns1"
E/libc (24652): Access denied finding property "net.dns2"
E/libc (24652): Access denied finding property "net.dns3"
E/libc (24652): Access denied finding property "net.dns4"
W/VideoCapabilities(24652): Unsupported mime video/divx
W/VideoCapabilities(24652): Unsupported mime video/divx311
W/VideoCapabilities(24652): Unsupported mime video/divx4
W/VideoCapabilities(24652): Unrecognized profile 4 for video/hevc
W/VideoCapabilities(24652): Unrecognized profile/level 0/3 for video/mpeg2
W/VideoCapabilities(24652): Unrecognized profile/level 0/3 for video/mpeg2
I/VideoCapabilities(24652): Unsupported profile 4 for video/mp4v-es
W/Utils (24652): could not parse long range '175-174'
I/CameraManagerGlobal(24652): Connecting to camera service
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
I/chatty (24652): uid=10349(com.example.agoraflutterquickstart) Thread-28 identical 1 line
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
W/CameraManagerGlobal(24652): [soar.cts] ignore the status update of camera: 2
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
W/CameraManagerGlobal(24652): [soar.cts] ignore the status update of camera: 3
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
W/Thread-27(24652): type=1400 audit(0.0:57824): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=12717 scontext=u:r:untrusted_app:s0:c93,c257,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
W/CameraManagerGlobal(24652): ignore the torch status update of camera: 3
W/Thread-27(24652): type=1400 audit(0.0:57825): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=12717 scontext=u:r:untrusted_app:s0:c93,c257,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
W/Binder:24652_2(24652): type=1400 audit(0.0:57830): avc: denied { read } for name="u:object_r:vendor_camera_prop:s0" dev="tmpfs" ino=12717 scontext=u:r:untrusted_app:s0:c93,c257,c512,c768 tcontext=u:object_r:vendor_camera_prop:s0 tclass=file permissive=0
E/RtcEngine(24652): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
E/libc (24652): Access denied finding property "persist.vendor.camera.privapp.list"
E/libc (24652): Access denied finding property "vendor.camera.aux.packagelist"
I/Adreno (24652): DequeueBuffer: dequeueBuffer failed
I/Adreno (24652): DequeueBuffer: dequeueBuffer failed
I/Adreno (24652): DequeueBuffer: dequeueBuffer failed
W/OpenGLRenderer(24652): swapBuffers encountered EGL error 12301 on 0x73532b2f80, halting rendering...
D/WEBRTCN(24652): StartRender: thread started: 1223644400
I/AGORA_SDK(24652): Surface changed to width 1080 height 1976
E/RtcEngine( 7025): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
E/RtcEngine(24652): onEvent: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.util.HashMap.put(java.lang.Object, java.lang.Object)' on a null object reference
`
Does not display videos of other participants on android devices. Even the log panel is not visible.
这是我在官网注册的appid
我替换了appid并且直接在真机上运行了demo
下边是打印的run的 log
Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk...
I/Choreographer(17701): Skipped 44 frames! The application may be doing too much work on its main thread.
Syncing files to device CPH1801...
E/CheckPermission(17701): _bluetooth code = 1
E/CheckPermission(17701): _bluetooth code = 3
E/CheckPermission(17701): camera-code= 1
I/AGORA_SDK(17701): Surface changed to width 720 height 599
I/Choreographer(17701): Skipped 4 frames! The application may be doing too much work on its main thread.
D/AudioManager(17701): setSpeakerphoneOn on=true from com.example.agoraflutterquickstart
D/WEBRTCN(17701): SetRenderAndroidVM
D/AudioManager(17701): setSpeakerphoneOn keys: get_speaker_authority=com.example.agoraflutterquickstart mAuthoriyStr = true
W/VideoCapabilities(17701): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706434 for video/avc
W/Utils (17701): could not parse long range '175-174'
W/VideoCapabilities(17701): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities(17701): Unrecognized profile/level 0/3 for video/mpeg2
W/VideoCapabilities(17701): Unrecognized profile/level 0/3 for video/mpeg2
W/VideoCapabilities(17701): Unsupported mime video/x-ms-wmv
W/VideoCapabilities(17701): Unsupported mime video/x-ms-wmv
W/VideoCapabilities(17701): Unsupported mime video/wvc1
W/VideoCapabilities(17701): Unsupported mime video/wvc1
W/VideoCapabilities(17701): Unsupported mime video/divx
W/VideoCapabilities(17701): Unsupported mime video/divx311
W/VideoCapabilities(17701): Unsupported mime video/divx4
W/VideoCapabilities(17701): Unsupported mime video/mp4v-esdp
I/VideoCapabilities(17701): Unsupported profile 4 for video/mp4v-es
W/VideoCapabilities(17701): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706434 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706433 for video/avc
W/VideoCapabilities(17701): Unrecognized profile 2130706434 for video/avc
I/CameraManagerGlobal(17701): Connecting to camera service
E/CheckPermission(17701): camera-code= 9
E/CheckPermission(17701): camera-code= 6
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 8
E/CheckPermission(17701): camera-code= 8
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
I/Choreographer(17701): Skipped 5 frames! The application may be doing too much work on its main thread.
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
D/Camera (17701): mHypnusCtrl is true
E/CheckPermission(17701): camera-code= 3
I/AGORA_SDK(17701): Surface changed to width 720 height 1132
E/OpenGLRenderer(17701): hwui_debug::CanvasContext createSurface sur=0x0, isValid =0
I/Choreographer(17701): Skipped 5 frames! The application may be doing too much work on its main thread.
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 11
E/CheckPermission(17701): camera-code= 10
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 1
E/CheckPermission(17701): camera-code= 2
E/CheckPermission(17701): real_camera-code= 2
E/CheckPermission(17701): real_camera-code= 11
E/CheckPermission(17701): real_camera-code= 10
E/CheckPermission(17701): real_camera-code= 3
E/CheckPermission(17701): real_camera-code= 5
E/OpenGLRenderer(17701): hwui_debug::CanvasContext createSurface sur=0x0, isValid =0
E/CheckPermission(17701): real_camera-code= 11
E/CheckPermission(17701): real_camera-code= 11
D/WEBRTCN(17701): StartRender: thread started: 1915065424
W/IInputConnectionWrapper(17701): finishComposingText on inactive InputConnection
不知道为何我手机运行后进去里边没有任何提示
我用的是 agora_rtc_engine: 0.9.7这个版本的
Hello,
Im using your video chat example, created a room and the video is working, but its two way video.
I only want the video to go from the sender to many others in the room, but one way only.
Is there a way to do that?
Thanks
当我作为一个观众进入某个直播间时,_addRenderView 中的 finished 打印出来显示
Closure: (int) => Null
因此后续步骤都不执行了
Just a question about usage
I want to send data with Image. But i couldn't find usage of data channels.
What should I do ?
克隆master分支下来后,按文档操作后,最后一步flutter run失败:
Using hardware rendering with device Android SDK built for x86. If you get graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle... 78.1s
Resolving dependencies... 20.6s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 57.5s
Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk... 2.0s
Error: ADB exited with exit code 1
adb: failed to install /Users/purelightme/Desktop/flutter/Agora-Flutter-Quickstart/build/app/outputs/apk/app.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native
libraries, res=-113]
Error launching application on Android SDK built for x86.```
Hi, Just clone this repository, i already added API_KEY, but when i run on real device, after i add channel and detail page show, it only show buttons with black background.
Is is possible with Flutter SDK to record "somewhere" the broadcasted Video ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.