我到处寻找这个,我找不到合适的方法.我已成功以.wav格式录制,但问题是,当我尝试从录制的.wav文件中读取原始数据时,某些块位于错误的位置/根本不存在.
我录制音频的代码:
func startRecording(){ let audioSession = AVAudioSession.sharedInstance() try! audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord) try! audioSession.setActive(true) audioSession.requestRecordPermission({(allowed: Bool) -> Void in print("Accepted")} ) let settings: [String : AnyObject] = [ AVFormatIDKey:Int(kAudioFormatLinearPCM), AVSampleRateKey:44100.0, AVNumberOfChannelsKey:1, AVLinearPCMBitDepthKey:8, AVLinearPCMIsFloatKey:false, AVLinearPCMIsBigEndianKey:false, AVEncoderAudioQualityKey:AVAudioQuality.Max.rawValue ] let date = NSDate() let df = NSDateFormatter() df.dateFormat = "yyyy-MM-dd-HH:mm:ss" let dfString = df.stringFromDate(date) let fullPath = documentsPath.stringByAppendingString("/\(dfString).wav") recorder = try! AVAudioRecorder(URL: NSURL(string: fullPath)!, settings: settings) recorder.delegate = self recorder.prepareToRecord() recorder.record() }
当我打印出录音机音频文件的数据时,我会得到一个奇怪的数字,其中'd'''t''a'应该被写入,后跟零.然后,在数据的中间,它出现了.
没有64617461('d''''t'''') - 它应该代替464c4c52
64617461('d''''t''a')在很多零之后的随机点
是否有更好的方法来录制wav文件?我不确定为什么会发生这种情况,所以任何帮助都会受到赞赏.我是否应该以其他格式录制然后将其转换为原始格式?
谢谢,抱歉这么多图片.