簡體   English   中英

通過AVAudioRecorder在WatchOS上錄制音頻

[英]Recording audio on WatchOS over AVAudioRecorder

是否有任何有關此的示例代碼或教程? 我發現自WatchOS 4.0 https://developer.apple.com/documentation/avfoundation/avaudiorecorder AVAudioRecorder支持AVAudioRecorder。 但是,當我嘗試使用它時-它記錄了1秒鍾,卻沒有實際聲音(只是噪音)。

這是我的代碼:

let audioURL = self.getRecordedFileURL()
print(audioURL.absoluteString)

let settings = [
  AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
  AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]

do {
  recorder = try AVAudioRecorder(url: audioURL, settings: settings)
  recorder?.delegate = self
  recorder?.record()
} catch {
  finishRecording(success: false)
}

另外,我應該在這里使用AudioSession嗎? 如果是,是否需要requestRecordPermission以及如何處理? 謝謝您的幫助!

這個作品:

    let recordingName = "audio.m4a"
    let dirPath = getDirectory()
    let pathArray = [dirPath, recordingName]
    guard let filePath = URL(string: pathArray.joined(separator: "/")) else { return }

    let settings = [AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
                    AVSampleRateKey:12000,
                    AVNumberOfChannelsKey:1,
                    AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
    ]

    //start recording
    do {
        audioRecorder = try AVAudioRecorder(url: filePath, settings: settings)
        audioRecorder.delegate = self
        audioRecorder.record()
    } catch {
        print("Recording Failed")
    }
func getDirectory()-> String {
    let dirPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
    return dirPath
}

不要忘記將NSMicrophoneUsageDescription添加到您的手機伴侶應用程序Info.plist

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM