如何使用 fileManager 读写音频

问题描述

当我尝试录制音频并收听该音频时,我在读取路径时遇到了一些问题`

var fileName: String = audioFile.m4a

var soundRecorder: AVAudioRecorder!

var soundPlayer: AVAudioPlayer!

func setupRecorder()  {
    
    let recordSetting = [AVFormatIDKey: kAudioFormatAppleLossless,AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue,AVEncoderBitRateKey: 320000,AVNumberOfChannelsKey: 2,AVSampleRateKey: 44100.0
    ] as [String : Any]
    do {
        soundRecorder = try  AVAudioRecorder(url: getDocumentDir(),settings: recordSetting )
        soundRecorder.delegate = self
        soundRecorder.prepareToRecord()
    }
    catch{
        print(error)
    }
    
}
func getDocumentDir() -> URL  {
    let path = FileManager.default.urls(for: .documentDirectory,in: .userDomainMask)
    return path[0].appendingPathComponent(fileName)
 }
func  preparePlayer() {
do {
    print(getDocumentDir())
    soundPlayer = try AVAudioPlayer(contentsOf: getDocumentDir())
    soundPlayer.delegate = self
    soundPlayer.prepareToPlay()
    soundPlayer.volume = 1.0
}
catch {
    print(error)
}

}

当我调用这个函数时它返回 nil 因为 soundPlayer 是 nil。 当我打印出我记录音频和阅读的路径时,我有相同的输出 当我调用这个函数时它返回 nil 因为 soundPlayer 是 nil。 当我打印出我记录音频和阅读的路径时,我有相同的输出 /Library/Developer/CoreSimulator/Devices/DECC0576-432D-4085-AD1C-F52AA0741D89/data/Containers/Data/Application/88C2CADA-5C93-481A-87CE-66469410A5CC/Documents/audio>。

soundPlayer.play()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...