如何播放来自服务器的流式 PCM 数据,如 Android AudioTrack 类?

Posted

技术标签:

【中文标题】如何播放来自服务器的流式 PCM 数据,如 Android AudioTrack 类?【英文标题】:How to play streaming PCM data from server like Android AudioTrack class? 【发布时间】:2016-11-29 08:55:17 【问题描述】:

我尝试开发 ios PCM 流媒体应用。

在此之前,我开发了带有 AudioTrack 类的 android 应用,音频播放很长时间。

在 iOS 中,我使用 AudioQueue API。

AudioQueue 可以很好地播放流式 PCM 数据几秒钟,

但很快播放声音就会打开和关闭。我能做什么?

(仍在流式传输和排队 AudioQueue)

我想用 AudioTrack 类制作类似于 Android 应用的应用。

请给我任何想法。

【问题讨论】:

【参考方案1】:

终于解决了。 解决方案是使用“AudioUnit”API。 AudioUnit 是比 AudioQueue 更低级别的 API。

请参考有关 AudioUnit & AudioOutputUnitStart 的文档

【讨论】:

以上是关于如何播放来自服务器的流式 PCM 数据,如 Android AudioTrack 类?的主要内容,如果未能解决你的问题,请参考以下文章

通过 tcp 套接字流式传输 PCM 音频

如何设置 AudioStreamBasicDescription 属性?

在 C++ 中连续流式传输 PCM 数据?

在 Node.js 上从 Web Audio API 播放 PCM 流

如何在 iOS 中添加带有 PCM 数据/缓冲区的可播放(如 wav、wmv)标头?

我将如何使用 NAudio 压缩来自麦克风的传入 PCM 数据?