-
Notifications
You must be signed in to change notification settings - Fork 409
[Mac OS] Microphone permission is requested even if the client role is set to audience #2320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @danielwilliamson , Would please call |
Hi @peilinok thanks for the quick response. Unfortunately this didn't resolve the issue. Please see a snapshot of the logs below: [2025-05-23 10:06:16.216] [81765] [info] [iris_rtc_device_manager_impl.cc:29] IrisRtcDeviceManagerImpl Initialize
[2025-05-23 10:06:16.216] [81765] [info] [iris_rtc_media_player_impl.cc:30] IrisMediaPlayerImpl Initialize
[2025-05-23 10:06:16.216] [81765] [info] [iris_rtc_spatial_audio_engine_impl.cc:202] IrisLocalSpatialAudioEngineImpl Initialize
[2025-05-23 10:06:16.216] [81765] [info] [iris_rtc_media_recorder_impl.cc:17] IrisMediaRecorderImpl Initialize
[2025-05-23 10:06:16.217] [81765] [info] [iris_rtc_music_center_impl.cc:20] IrisMusicPlayerImpl Initialize
[2025-05-23 10:06:16.217] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_initialize ret 0 result {"result":0}
[2025-05-23 10:06:16.217] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_setAppType params {"appType":4}
[2025-05-23 10:06:16.217] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_setAppType ret 0 result {"result":0}
[2025-05-23 10:06:16.217] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_enableVideo params {}
[2025-05-23 10:06:16.217] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_enableVideo ret 0 result {"result":0}
[2025-05-23 10:06:16.218] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_enableAudio params {}
[2025-05-23 10:06:16.218] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_enableAudio ret 0 result {"result":0}
[2025-05-23 10:06:16.220] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_registerEventHandler params {"event":105553164551120}
[2025-05-23 10:06:16.220] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_registerEventHandler ret 0 result {"result":0}
[2025-05-23 10:06:16.220] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_setChannelProfile params {"profile":1}
[2025-05-23 10:06:16.220] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_setChannelProfile ret 0 result {"result":0}
[2025-05-23 10:06:16.226] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_setAudioProfile params {"profile":5,"scenario":3}
[2025-05-23 10:06:16.227] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_setAudioProfile ret 0 result {"result":0}
[2025-05-23 10:06:16.228] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_setVideoEncoderConfiguration params {"config":{"dimensions":{"width":1280,"height":720},"frameRate":30,"orientationMode":2}}
[2025-05-23 10:06:16.228] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_setVideoEncoderConfiguration ret 0 result {"result":0}
[2025-05-23 10:06:16.229] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_setClientRole params {"role":2,"options":null}
[2025-05-23 10:06:16.229] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_setClientRole ret 0 result {"result":0}
[2025-05-23 10:06:16.238] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_enableLocalAudio params {"enabled":false}
[2025-05-23 10:06:16.238] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_enableLocalAudio ret 0 result {"result":0}
[2025-05-23 10:06:16.251] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_enableVideo params {}
[2025-05-23 10:06:16.251] [81765] [info] [iris_rtc_engine_impl.cc:112] api name RtcEngine_enableVideo ret 0 result {"result":0}
[2025-05-23 10:06:16.251] [81765] [info] [iris_rtc_engine_impl.cc:96] api name RtcEngine_joinChannelWithUserAccount params |
Hi @danielwilliamson , After consulting with our engineering team, we can confirm that our SDK only requests microphone access when explicitly calling joinChannel with microphone functionality enabled. Could you please verify if you have properly implemented the microphone permission request in your application, perhaps using a permission management solution like permission_handler? This is a crucial prerequisite for microphone access on the device. |
Hi @peilinok, the app in question is 1 to many live streaming app where there is 1 host and multiple viewers. So in this case it's not appropriate to prompt the user (the viewer) to accept microphone permissions when they themselves will never broadcast their voice. This functionality works correctly on iOS. We don't prompt for microphone permission and when joining the Agora channel the user isn't prompted to accept the microphone permission. This is only an issue on Mac OS. |
Hi @danielwilliamson , I will continue investigating this issue and will inform you immediately of any progress. |
Uh oh!
There was an error while loading. Please reload this page.
Version of the agora_rtc_engine
6.5.2
Platforms affected
Steps to reproduce
ClientRoleType.clientRoleAudience
joinChannel
Expected results
When the client role is set to
ClientRoleType.clientRoleAudience
microphone permission won't be requested.Actual results
When the client role is set to
ClientRoleType.clientRoleAudience
the microphone permission alert is shown.Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
Logs
Logs
[Paste your logs here]
Flutter Doctor output
Doctor output
The text was updated successfully, but these errors were encountered: