在 .NET Maui 通话应用中通过 AvAudioEngine 播放声音

Playing sound through AvAudioEngine in a .NET Maui calling app

提问人:Ruku92 提问时间:10/10/2023 最后编辑:Ruku92 更新时间:10/10/2023 访问量:73

问:

我和我的团队正在将一个应用程序重写为 .net Maui,其中可以使用 voip/softphone 拨打电话。我们处理通话中声音的旧方法,导致任何一个参与者在 iPhone 上使用扬声器时会出现一些回声问题。因此,我们决定寻找处理音频的替代方案,而 AvAudioEngine 似乎提供了一种解决方案,它也是 .NET Maui 的一部分。唯一的问题是缺乏文档,因为我们都没有在这个领域有任何实际经验。

我们设法弄清楚了如何使麦克风/输入部分工作,现在正在尝试掌握如何通过 AvAudioEngine 输出声音。

简而言之,我们在短时间间隔内以字节的形式接收声音,将其复制到 IntPtr。我们现在最好的猜测是创建一个新的 AVAudioPcmBuffer,并用该 IntPtr 填充它的 AudioBufferList,并在 playerNode 上使用 PcmBuffer 作为 prepareBuffer() 方法中的参数,并使用 completionHandler 在 playerNode 上调用 Play(),因为我们接收音频,但到目前为止没有任何运气。去哪里?如果可能的话,更喜欢 C# 的答案:)

提前致谢!

C# iOS Maui AVAudioEngine

评论

0赞 Liyun Zhang - MSFT 10/11/2023
您可以在 VoIP 应用程序中参考有关 AVAudioEngine 的线程。并且里面有一个示例,您可以尝试将 natvie 代码转换为 c#。

答: 暂无答案