Следующий код должен записывать аудио, а затем воспроизводить его. Все, наверное, хорошо с записью, но она не воспроизводится. Кто-нибудь сталкивался с теми же проблемами или кто-нибудь знал, что я могу сделать, чтобы исправить этот код?Запись звука выглядит нормально, но воспроизведение не работает
var filename="/audioFile.caf"
var soundRecorder:AVAudioRecorder!
var soundPlayer:AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
self.setupRecorder() }
func setupRecorder() {
let recordSettings = [AVSampleRateKey : NSNumber(float: Float(44100.0)),
AVFormatIDKey : NSNumber(int: Int32(kAudioFormatMPEG4AAC)),
AVNumberOfChannelsKey : NSNumber(int: 1),
AVEncoderAudioQualityKey : NSNumber(int: Int32(AVAudioQuality.Medium.rawValue)),
AVEncoderBitRateKey : NSNumber(int: Int32(320000))]
var error:NSError?
do {
soundRecorder=try AVAudioRecorder(URL: getFileURL(), settings: recordSettings)
soundRecorder.delegate=self
soundRecorder.prepareToRecord()
}
catch {
}
}
func getCacheDictionary() -> String {
let paths=NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
return paths[0]
}
func getFileURL() -> NSURL {
let path=getCacheDictionary().stringByAppendingString(filename)
let filePath=NSURL(fileURLWithPath: path)
return filePath
}
@IBAction func recordingButton(sender: UIButton) {
soundRecorder.record()
}
@IBAction func Play(sender: AnyObject) {
do {
soundPlayer=try AVAudioPlayer(contentsOfURL: getFileURL())
soundPlayer.delegate=self
soundPlayer.prepareToPlay()
soundPlayer.play()
}
catch {
}
}
@IBAction func PauseRecording(sender: AnyObject) {
soundRecorder.pause()
}
спасибо, но это не работает, может быть, у нас проблема с «recordSettings»? –
Принесите его к уху. Может быть, это уже работает. – antonio