如何解决Agora Interactive Live Video Streaming - 如何在广播端启用音频?
https://docs.agora.io/en/Interactive%20Broadcast/start_live_ios?platform=iOS
我已经按照上面的教程来实现交互式实时视频流。我有一个广播员和多个观众。只有主播才能播,观众只能收看主播。
广播员无法听到自己的音频。有没有办法在广播方启用音频,以便他可以听到自己的音频?
我使用了上面教程中的代码,并将角色设置为 .broadcaster 在广播方和观众方设置为 .audience。
主播
func setClientRole() {
// Set the client role as "host"
agoraKit?.setClientRole(.broadcaster)
}
观众
func setClientRole() {
// Set the client role as "audience"
agoraKit?.setClientRole(.audience)
}
解决方法
通常使用视频流服务,本地用户无法听到他们自己设计的音频(查看 YouTube Live、FB/Insta Live 等)。否则,如果回声消除,它会导致回声或可能使音频静音。用户听到自己的声音也很迷惑,所以我建议不要这样做。
为了仍能回答您的问题,如果您的项目必须拥有麦克风音频,我建议您强制用户使用耳机以避免回声问题。通过这种方式,您可以使用自定义音频源 (full guide),您可以在其中初始化麦克风并将音频发送到耳机以及将其传递给 Agora SDK。
由于此的实施结束可能会因您的项目而有很大差异,因此我将解释基本概念。
使用 Agora,您可以使用以下方式启用自定义音频源:
self.agoraKit.enableExternalAudioSource(withSampleRate: sampleRate,channelsPerFrame: channel)
当您加入频道时,您将自己初始化麦克风,并维护该缓冲区。然后将自定义音频传递给
self.agoraKit.pushExternalAudioFrame(buffer,System.currentTimeMillis());
有关详细信息,我建议您查看 Agora's API Examples Project。您可以使用一些 Audio Controllers 来查看音频的处理方式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。