等到播放完成
Posted
技术标签:
【中文标题】等到播放完成【英文标题】:Wait until playback has completed 【发布时间】:2012-11-01 07:05:23 【问题描述】:我使用 PortAudio 作为语音合成(文本到语音)引擎的前端,我想提供一个同步语音功能,等待播放完成。
似乎所有处理此问题的 PortAudio 函数只等到底层 API 完成使用音频数据,而不是。
PortAudio 可以做到这一点吗?如果没有,是否有任何可以支持此功能的 PortAudio(必须包含 C 接口)的良好跨平台替代品?
【问题讨论】:
【参考方案1】:我不确定 streamFinished 回调是否如此处所述:
http://portaudio.com/docs/v19-doxydocs/portaudio_8h.html#aa11e7b06b2cde8621551f5d527965838
是你想要的。它可能会遇到同样的问题,但我认为它会起作用。
另外两种可能性是:
使用较低的延迟设置。 使用硬件计时。此信息可通过GetStreamTime() 等电话获得。例如: 获取当前时间 将 x 秒的音频推送到硬件 等待硬件时钟显示开始时间加上 x 秒您可能也对此文档感兴趣:
http://www.rossbencina.com/static/writings/portaudio_sync_acmc2003.pdf
恐怕我不知道还有其他 API 可以更好地支持这类事情。
【讨论】:
以上是关于等到播放完成的主要内容,如果未能解决你的问题,请参考以下文章