关于Apple Speech框架中SFTranscriptionSegment时序偏移及speechRecognitionMetadata预终态为nil的技术疑问
关于Apple Speech框架中SFTranscriptionSegment时序偏移及speechRecognitionMetadata预终态为nil的技术疑问
我最近在Swift/SwiftUI环境下做语音识别相关开发,用的是Xcode 16.3,系统是macOS 15.4。不管是在iOS模拟器里跑测试,还是直接在Xcode中运行macOS应用,都碰到了一个挺费解的问题——而且我换了三个不同的音频文件测试,结果完全一致。
我发现SFSpeechRecognitionResult的speechRecognitionMetadata属性,只有当isFinal为true的时候才会有有效值,在识别结果处于非最终状态(也就是isFinal为false)时,这个属性一直是nil。但我翻遍了Apple的官方文档,完全没提到这个属性会有这样的时序限制,文档里根本没说它要等结果最终确定后才会被填充。
为了排查问题,我已经把相关的处理类精简到最基础的版本,排除了其他业务代码的干扰,但这个现象还是存在。
内容来源于stack exchange
相关产品推荐
相关产品推荐

