如何修改 Speak Here 示例代码来录制流式音频?

Posted

技术标签:

【中文标题】如何修改 Speak Here 示例代码来录制流式音频?【英文标题】:Does any one know how to modify the Speak Here Sample Code to record streaming audio?有谁知道 【发布时间】:2010-08-19 16:26:56 【问题描述】:

有谁知道如何修改Apple的代码Speak Here。我需要修改它以使用 Matt Gallagher Audiostreamer 类录制流式音频,但不知何故我找不到如何选择录制源...

你能帮忙吗?

【问题讨论】:

【参考方案1】:

我还没有这样做,但我已经使用了很多 Matt 的 AudioStreamer 类,这确实是您想要扩展的项目 - 而不是 SpeakHere。 (流音频部分是其中最复杂的部分)。

您要做的是首先设置您的文件以进行写入,然后在 AudioStreamer.m 中有两个地方将网络数据缓冲区复制到音频队列缓冲区 - 都用这个 // 将数据复制到音频队列缓冲。在这些行之后添加写入文件的逻辑(使用 AudioFileWritePackets)。我猜文件写入速度足够快,可以立即在此处执行此操作。如果没有(如果音频播放跳过或中断),那么您需要为文件写入设置一个循环缓冲区,复制字节并从后台线程调用 AudioFileWritePackets。

【讨论】:

谢谢 john,我会尝试并给你一些反馈

以上是关于如何修改 Speak Here 示例代码来录制流式音频?的主要内容,如果未能解决你的问题,请参考以下文章

如何修改 SpeakHere 示例应用程序以在 iPhone 上以单声道格式录制?

在java中录制流式音频?

Flutter Web 录制音频以流式传输

流式传输实时音频

Speak Text, Speak SSML

在 Android 上听不到录音