Can we mute remote audio at source while using Agora Web SDK API? - agora.io

I am working on an application where host needs to mute other participants. I have tried using remotestream.muteAudio() api. But this doesn't mute the audio at source. Which means with this API, if host mutes Participant A it is muted only for the host. But participant B can still hear Participant A.
I went through the API documentation and couldn't find the solution.
https://docs.agora.io/en/faq/API%20Reference/web/interfaces/agorartc.stream.html#muteaudio
Can this be achieved by any ways?

Hi there you need to use the Agora RTM SDK to do that.
You can create an RTM channel with the same name as the RTC channel. Alternatively, You can use P2P messaging(Also present in RTM) if that suits your use case better.
Then the host can send a message to the concerned user to mute. On receiving this message, the user can call the muteAudio on their side, thereby muting the audio at source. All of this would be done programmatically.

Related

Is Agora.io able to listen in the background?

Assuming I integrate Agora in my website (PC + mobile hybrid app that wraps a mobile-web site).
Will it be able to listen for users joining a channel while the client is not browsing the website?
Meaning, can it work inside a service worker on both PC and mobile?
I need a reliable way to have voice calls between users on my web application even when they are not using the website.
If you create a WebView or just open an iframe of the website then the user's video is turned off when the app is closed even if the microphone permissions are off.
The user is still on call and can track people joining but as soon as you close the browser, your video stream disappears for the other users.
To have background based workflow, I recommend you use the native SDKs for the app as well as desktop applications and implement them with the same App Id to maintain consistency.
An alternative solution is to use the RTM SDK as the RTM SDK allows you to send messages even in the background if the user is logged in and has joined the channel.

How to obtain list of Music Sources from the Sonos household?

I am trying to get a list of music services to which the Sonos household has a subscription. Is it possible to obtain such information from HTTP API or from any other source? If yes, then under what conditions?
I have analyzed the traffic between the Sonos Connect and Windows Sonos Controller. I discover, that information about music services is transmitted from Connect to Controller inside the ThirdPartyMediaServersX tag of the NOTIFY HTTP request. But this content is encoded in the base64-like cipher.
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<ThirdPartyMediaServersX>
2:oZoYgaU5pqEq6IauQ1hYVS0oCUJnqbCkJL1vXP/DoeijejEwUBQT8UG0CksUG9VcarvLhCyElhKTUjfhQt0SAcV2oBOyLJ5BCmjd7TcJfPrVuTGHczd5/AS2tgj85n0U9yU9EwwHROFb5uV09syZNLVaZuJnENCWRKatIq1SNMm1SE4tHneLG6ULQoDOR50nf7TwyRQbkit8Bvy+kZyNPlrgBZFGmizoRmYjW8COFvHJpZhREEGruhQ2J6A8gnQOWyFzstAyHNZeLqp2xcNGnts6f2DQ56r/ducstbibFH0SZOZC0XM/BB4DvOT8UalezPL0R9/s8Jibm5T6mS1FWk14GWg2RMmRBIVE5G/gG2c=
</ThirdPartyMediaServersX>
</e:property>
</e:propertyset>
I expect to obtain list of music services, but the actual list were hidden.
As you figured out, Sonos disabled this functionality some time ago.
I've spend a lot of time figuring out how it works, and I now have a "work-a-round". External music services describes what to do.
And sonos-ts has support for external music services. If you read my first link and check the code in this library you should probably be able to figure out how to do that in your programming language.
I know this is no access to the list that is kept by Sonos, but this work-a-round also saves the tokens on the device for every client application to use.
Recently I've found someone who build an music service emulator. So that are both sides of external music services.
This is not supported by the Sonos API.

Broadcast live audio on my website

I am having a requirement to broadcast live audio on my website. Scenario is
1) one user will talk/sing in my application and
2) his followers will have to listen that live audio instantly in the same application.
Can you please suggest me any 3rd party libraries for this?
Note: I am developing my web application in ASP.Net MVC5.
Thanks in advance.
Towards that goal, if you plan on using WebRTC, you'll need to add media servers that route media around.
Look at Kurento, Jitsi or Janus for open source alternatives - especially if you plan on adding video support to it.
You can also try using Asterisk or FreeSWITCH - these are telephony based solutions but can be re-purposed to use WebRTC and offer a conference call like experience where you mute everyone and have a single speaker "broadcast" his audio to all the rest.

Spotify Web API to control playback on connect devices

Is there any way to use an API to control playback on my registered spotify connect devices? I'm not trying to create or add a new connect devices but control playback to them.
Is there any official or reverse engineering discussion on how to do this?
As far as I can tell, there is no way to do this currently.
That said, it's also unclear if or when this feature will be added. Spotify hasn't updated its api code in months. It also appears that the login functionality is broken on my app too. Spotify doesn't seem to be easy to work with.

itunes connect metadata rejected video third party, how to resolve?

I uploaded my app to itunes connect and I waited a few days.. and then the app that I uploaded was denied one time. I send them one video explaining the app, but anyway they rejected the app.
This is the first message:
We began the review of your app but are still not able to continue because we need access to a video that demonstrates your app in use when launched on the physical device and integrating with third party product. Please showcase all app features and functionality within the video content provided. The simulation video provided will not suffice.
This is the second message:
The simulation video provided will not suffice. We need access to a video that demonstrates your app in use when launched on the physical device, and integrating with the third party product. Please showcase all app features and functionality within the video content provided.
What do I need to do? Use a screen capture software and film my app in use in the iPhone? Upload to youtube and share the link in the review notes of the app? A simple demonstration? or a expanded demonstration?