Briefly, I use Agora Sdk's Voice call, the users change their roles, one is broadcaster and others Audience... When the user is broadcaster and his device is connected to headset, the other users (Audiences) cant hear him, but if I turned off headset, everything is okay, Can anyone help me how to switch audio routing to Headset?? I tried override fun onAudioRouteChanged(routing: Int) Agoras method when routing is Headset, and I tried to user setEnableSpeakerphone(false)
Related
I’m implementing a solution that will notify users in a scenario very similar to a chat.
I’ll be using SignalR and Azure Notifications Hub for the job.
There are two scenarios that I need to address:
Notifying users that are currently connected and using my app - either web or mobile
Notifying users who are NOT currently using the app
I think SignalR will work just fine for the first scenario which is fairly easy.
My question is handling the second scenario which will require Azure Notifications Hub.
In a typical chat app, though it’s not real-time, there’s little delay before an inactive user receives a notification for a new message he receives.
How do I “trigger” a process that will send a notification through Azure Notifications Hub?
I can think of two ways to handle this:
Figure out a way to keep a list of users who currently have an active connection to my app. These users can be notified through SignalR. So after each new message, I could trigger a notification process that will use Azure Notifications Hub for users who are NOT in the active users list i.e. those who are NOT actively connected to my app.
Another approach would be to assume no one is connected. I could create an Azure Functions app that runs every minute to check on messages that are NOT opened. It would then compile a list of users who need to be notified and call Azure Notifications Hub process to notify them.
I don’t want to reinvent the wheel and want to tap into the experience of those who’ve already implemented a solution like this.
I’m currently leaning towards the second approach. I’d appreciate your suggestions, especially on approaches that I haven’t thought of. Thanks!
I wanted to automatically branch users who do not have a microphone or camera, so I used the GetAudioRecordingDeviceCount function in audioRecordingDeviceManager and GetVideoDeviceCount function in videoDeviceManager to branch users with 0 and more than 1 user.
However, the count is 0 for both functions before the first channel connection.
I thought about this for a long time, but there was no answer, so I first connected to CLIENT_ROLE_AUDIENCE and modified it to turn on the camera and microphone using a toggle.
The camera works fine.
If the EnableVideo function is operated in a branch with a count of 1 or more, a permission request is made and it operates normally.
However, the microphone does not work properly.
EnableAudio,EnableLocalAudio,MuteLocalAudioStream None of the microphone-related functions request the microphone's permission.
The only way was to set _publishLocalAudio to true in ChannelMediaOptions when doing JoinChannel.
However, I need microphone permission after entering the channel.
Is there no way to solve this in agora?
Count is 0 until the function that counts microphone and camera equipment enters and exits the channel once.
enablevideo requests camera permission, but enableaudio does not request microphone permission. Is there no way in the agora to request microphone permission after joining a channel?
I am building a Video Chat application in React-Native, I have successfully implemented the Video Chat feature. Now I need a mechanisim to send notification to the user to join the Video Call.
I have read stackoverflow and also googled a lot, all the answers suggest to use Callkeep.
But Callkeep requires me to use Phone call account permission to use the module. I need the notification to be handled like in Instagram, with simple notification that User A is calling you with declined and answer button only.
You can use Firebase Cloud Messaging or a similar service to send and receive notifications for your calls. You can send the channel name as the payload to accept the notification and join the call.
I've just released a new version of my game with the integration of Google Play Game Services for the leaderboards and achievements. For a better understanding of my issue, here an example:
When the user connects, a popup window ask which account to use. Let's say I'm using account A. However, in the G+ app, it's account B that is connected.
When the user go to the leaderboards, he can also share a message to his friends but, that's not A's friends! That's the friends of the G+ connected account: B.
It looks like a bug for me but that's not all. Now, I have disconnected B from the G+ app and connected A instead. But it's also showing that I have no contact in my circle playing my game. That's not true. I can see in the public scores a friend of mine.
Am I misunderstanding something? Or is it a bug? For the last issue, is it just a problem of refresh? (I've tried the refresh button with no luck)
I installed this instant messenger program called IM+ that keeps your accounts online even when you exit the application (you know... touch: only one app at a time) it accepts push deliveries to report you have a message.
I am kind of puzzled on how they can keep me logged in and send me a push notification that someone is messaging me. I noted the same happens for mail. If I receive a mail, even if I don't have mail open, a badge appears near the icon.
My main concern is the password. How does push work? does it mean that apple or the company behind IM+ stores my email and instant messenger passwords to keep me logged in and push me a notification when I have something new ?
Edit: ok... the tumbleweed is a bit too much for such a question.
Read this to understand how it works: Apple Push Notification Service