【问题标题】:Recording audio on WatchOS 4在 WatchOS 4 上录制音频
【发布时间】:2017-07-10 15:06:18
【问题描述】:

在 WWDC17 上,WatchOS 4 发布了新的录制功能。 我一直在尝试获取 PCM 阵列,但没有成功。

目前我尝试使用以下代码:

检查音频会话:

override func awake(withContext context: Any?) {
    super.awake(withContext: context)

    let recordingSession = AVAudioSession.sharedInstance()

    do {
        try recordingSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
        try recordingSession.setActive(true)
        recordingSession.requestRecordPermission() { [unowned self] allowed in
            DispatchQueue.main.async {
                if allowed {
                    self.recordingSessionSuccessfulPermission()
                } else {
                    self.recordingSessionFailPermission()
                }
            }
        }
    } catch {
        self.recordingSessionFailPermission()
    }
}

开始记录:

@IBAction func startRecordButton() {
    label.setText("start record")
    let audioEngine = AVAudioEngine.init()
    let inputNode = audioEngine.inputNode
    let format = inputNode.inputFormat(forBus: 0)
    inputNode.installTap(onBus: 0, bufferSize: 8000, format: format) { (buf, wheb) in
        self.label.setText("It is working")
    }

    audioEngine.prepare()
    do {
        try audioEngine.start()
    } catch {
        // Handle error...
    }
}

此代码抛出错误:

[audiocomp] 178: registration server connection invalidated
[audiocomp] 170: registration server proxy error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.audio.AudioComponentRegistrar was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.audio.AudioComponentRegistrar was invalidated.}

【问题讨论】:

    标签: swift avaudioengine watchos-4


    【解决方案1】:

    AudioEngine 对象必须在 Action 之外创建。

    例如:

    class MyClass: WKInterfaceController {
        private var audioEngine = AVAudioEngine()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多