Mac 上的 AVAudioEngine 输入,中断低优先级声音

AVAudioEngine input on Mac, disrupting low priority sounds

提问人:granpaJones 提问时间:6/27/2023 最后编辑:granpaJones 更新时间:6/28/2023 访问量:53

问:

我正在通过点击 Mac 上的麦克风并打印出识别的声音来分析声音。

一切正常,但它扰乱了其他(我假设的)低优先级声音,例如界面声音,例如将项目拖出码头、在 Outlook 中发送消息、在快捷方式或终端中说些什么。 其他声音,如 music.app 播放、Siri 说话不会中断。中断听起来像是声音的最后一部分重复了两次,非常明显。这是代码(直接从这里:https://developer.apple.com/documentation/soundanalysis/classifying_sounds_in_an_audio_stream):

import Cocoa
import AVFAudio

func startAudioEngine() {
    // Create a new audio engine.
    audioEngine = AVAudioEngine()


    // Get the native audio format of the engine's input bus.
    inputBus = AVAudioNodeBus(0)
    inputFormat = audioEngine.inputNode.inputFormat(forBus: inputBus)
    
    do {
        // Start the stream of audio data.
        try audioEngine.start()
    } catch {
        print("Unable to start AVAudioEngine: \(error.localizedDescription)")
    }
}

我尝试增加缓冲区,将 qos 更改为实用程序(希望声音分析变得不如系统声音重要),在非主线程上运行。

问题是使用 100% AVAudioEngine,任何帮助将不胜感激。

Swift macOS AVAudioEngine

评论


答: 暂无答案