wav转pcm


// 方法实现
- (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;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容