如何在Objective C中实现录音和播放音频?

我想在Objective C中实现录音和播放音频,目前还不是很熟悉这方面的技术。我不知道该从哪里开始学习,该用哪些库和框架,并且怎样编写代码能够实现这个功能。有没有哪位有经验的开发者可以提供一些指导?无论是关于API的简介,还是一些示例代码,都非常有帮助。谢谢!

提问时间:2023-06-14 18:23:23 编辑时间:2023-06-14 18:23:25 提问者: Cyber_Punk
  • 狂沙漫舞
    9

    在Objective C中实现录音和播放音频可以使用AVFoundation库。以下是录音和播放音频的代码示例:

    录音:

    #import <AVFoundation/AVFoundation.h>
    
    //设置录音会话
    AVAudioSession *session = [AVAudioSession sharedInstance];
    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
    
    //创建录音机
    NSURL *url = [NSURL fileURLWithPath:@"/dev/null"];
    NSDictionary *settings = @{
        AVSampleRateKey: @(44100.0),
        AVFormatIDKey: @(kAudioFormatAppleLossless),
        AVNumberOfChannelsKey: @(1),
        AVEncoderAudioQualityKey: @(AVAudioQualityMax)
    };
    NSError *error;
    AVAudioRecorder *recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
    
    //开始录音
    [recorder prepareToRecord];
    [recorder record];
    

    播放音频:

    #import <AVFoundation/AVFoundation.h>
    
    //创建音频播放器
    NSString *path = [[NSBundle mainBundle] pathForResource:@"audio" ofType:@"mp3"];
    NSURL *url = [NSURL fileURLWithPath:path];
    AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
    
    //播放音频
    [player play];
    

    以上代码仅作为参考,具体的实现还需要根据不同的需求进行修改和完善。

    回答时间:2023-06-14 18:23:29