// 方法实现
- (AVAudioPCMBuffer *)convertWAVToPCMBuffer:(NSString *)wavFileName {
// 获取WAV文件的URL
NSString *filePath = [[NSBundle mainBundle] pathForResource:wavFileName ofType:@"wav"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSError *error = nil;
// 创建AVAudioFile对象
AVAudioFile *audioFile = [[AVAudioFile alloc] initForReading:fileURL error:&error];
if (error) {
NSLog(@"Error reading audio file: %@", error.localizedDescription);
return nil;
}
// 获取文件格式
AVAudioFormat *fileFormat = [audioFile processingFormat];
// 计算采样框架数
AVAudioFrameCount frameCount = (AVAudioFrameCount)audioFile.length;
// 创建PCM Buffer
AVAudioPCMBuffer *pcmBuffer = [[AVAudioPCMBuffer alloc] initWithPCMFormat:fileFormat frameCapacity:frameCount];
// 读取文件数据到PCM Buffer
[audioFile readIntoBuffer:pcmBuffer error:&error];
if (error) {
NSLog(@"Error reading into buffer: %@", error.localizedDescription);
return nil;
}
return pcmBuffer;
}
wav转pcm
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前言 最近在研究wav,mp3,pcm之间的相互转换,发现mp3的相关操作,都需要解码mp3或者编码mp3,无法直...
- 音频录制与播放命令 录制 播放播放PCM需要指定相关参数: ar:采样率 ac:声道数 f:采样格式 PCM音频录...
- 最近收到几个24位的PCM录音源文件,Recoder库原有的PCM转WAV工具只支持8位和16位,于是就升级一下支...