0

我正在研究需要将语音转换为文本的无线电应用程序。为此,我正在使用第三方 api。为了获得更好的结果,我想同时运行两个 api 并比较输出。这应该在用户单击记录按钮时发生。

我知道我们可以使用 GCD 做到这一点,但不知道如何实现这一点。

需要建议。

谢谢你。

4

1 回答 1

0

简短的回答是您创建了两个 GCD 队列,一个用于每个 Speech-to-Text 任务。在每个块中,您使用相同的输入数据调用两个不同的 API。然后你要么等待结果,要么让块在完成时调用回调状态方法。

请注意,您需要确保语音引擎可以安全地在后台线程上运行。

如果您想先录制音频,然后将数据提交给两个不同的引擎进行处理,这相当简单。但听起来您可能想在用户单击记录后立即开始处理音频?在这种情况下,它在很大程度上取决于 API 以如何实时向它们提供数据。您可能只想明确地在单独的线程上运行它们,并在数据进入时为它们提供数据。

于 2013-03-19T12:59:52.527 回答