gpt4 book ai didi

ios - 如何让 SpeechKit 和 AVCaptureDevice 协同工作

转载 作者:行者123 更新时间:2023-12-04 18:20:54 25 4
gpt4 key购买 nike

我正在使用 Nuance 的 SpeechKit 在录制视频时转录视频中的文本。但是,当 SpeechKit 处于事件状态时,AVAudioSession 会生成以下错误:

AVAudioSession.mm:646: -[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.

禁用 SpeechKit 让我可以录制和预览视频。启用它会生成转录文本,但不会录制视频。

我已经把一个示例项目放到网上:

https://github.com/jeffreality/iOSVideoTranscriber

我的目标是保存带有音频的视频,并进行转录。

最佳答案

您可以将以下行移动到 viewDidLoad:

#if ENABLE_TRANSCRIPTION

[SpeechKit setupWithID:@"Your ID"
host:@"dfo.nmdp.nuancemobility.net"
port:443
useSSL:NO
delegate:nil];
#endif

这确保当您在 viewDidAppear 中创建自己的捕获 session 时已经设置了 speechKit。

SpeechKit 委托(delegate)方法 recognizerDidFinishRecording 在识别器停止录制音频时被调用。它会在检测到静音时自动调用,或者在您执行 [voiceSearch stopRecording] 时手动调用。发生这种情况时,您自己的录音尚未完成,需要时间将音频文件保存到磁盘,并且错误消息表示在停用 Audio Session 之前应停止所有 i/o。您可以通过 sdk release audio session 1 查看日志,我认为它正在停用 session 并释放它。所以我认为你应该在上面的方法中添加它。

[[self.session.outputs[1] connectionWithMediaType:AVMediaTypeAudio] setEnabled:NO];

输出的是你之前设置的AVCaptureMovieFileOutput,connection是音频连接,这样做貌似错误消失了。

关于ios - 如何让 SpeechKit 和 AVCaptureDevice 协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28589579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com