录制超出语言 API 的 wav 文件

Posted

技术标签:

【中文标题】录制超出语言 API 的 wav 文件【英文标题】:Record wav file for beyond verbal API 【发布时间】:2018-02-01 13:51:36 【问题描述】:

Hello Everone 希望你们一切都好

我有一个关于在 iphone 上录制 wav 的问题。可以录制和存储文件,但是当我上传到 Beyond Verbal API 时,响应是

"readyState":4,"responseText":"\"status\":\"failure\",\"reason\":\"Bad Wave 格式标头 Unknown\"","status":400,"statusText":"Bad 请求”

MARK:- 录制音频路径

func getDocumentsDirectory() -> URL 
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
    let documentsDirectory = paths[0]
    return documentsDirectory

MARK:- 开始录制持续时间

func startRecording() 
    let audioFilename = getDocumentsDirectory().appendingPathComponent("audioFile.wav")
    //        print(audioFilename)
    let settings = [

        AVFormatIDKey: Int(kAudioFormatLinearPCM),
        AVSampleRateKey: 41000,
        AVNumberOfChannelsKey: 2,
        AVEncoderBitRateKey:320000,
        AVLinearPCMBitDepthKey:16,
        AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue

    ]

    do 
        audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
        audioRecorder?.delegate = self
        audioRecorder.isMeteringEnabled = true
        audioRecorder?.record(forDuration: 15)
        audioRecorder.record()

     catch 
        finishRecording(success: false)
    

【问题讨论】:

【参考方案1】:

这是由于转换而出现的问题。所以使用 .m4a 文件,然后转成 .wav 文件。它会起作用的。

【讨论】:

以上是关于录制超出语言 API 的 wav 文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么用c语言播放特定目录里的wav文件?

如何使用 Windows API 从麦克风录制 wav 声音?

Web Audio API - 录制到 MP3?

如何用C语言编写程序将多个wav文件拼接成一个音频wav文件并播放

如何同时录制使用 AVPlayer 和 wav 文件播放的歌曲?

如何在android中录制.wav格式的文件