iOS 音频采集播放api
apple 发布于 2023-10-11

AVAudioSession

方法

 (AVAudioSession *)sharedInstance;

参考代码:

func setupAudioSession() {
    do {
        let session = AVAudioSession.sharedInstance()
        try session.setCategory(.playAndRecord, options: [.defaultToSpeaker, .allowBluetooth])
        try session.setActive(true)
    } catch {
        fatalError("Failed to configure and activate session.")
    }
}

AVAudioApplication

管理属于应用程序的一个或多个音频会话的对象。

(void)requestRecordPermissionWithCompletionHandler:(void (^)(BOOL granted))response;

@property(readonly) AVAudioApplicationRecordPermission recordPermission;

 

AVAudioRoutingArbiter

用于配置macOS应用程序以参与AirPods自动切换的对象。

@interface AVAudioRoutingArbiter : NSObject

 

AVAudioPlayer

播放文件或缓冲区中音频数据的对象。

 

方法:

(instancetype)initWithContentsOfURL:(NSURL *)url 

                                error:(NSError * _Nullable *)outError;

 

 (instancetype)initWithContentsOfURL:(NSURL *)url 

                         fileTypeHint:(NSString *)utiString 

                                error:(NSError * _Nullable *)outError;

 

(instancetype)initWithData:(NSData *)data 

                       error:(NSError * _Nullable *)outError;

 

(instancetype)initWithData:(NSData *)data 

                fileTypeHint:(NSString *)utiString 

                       error:(NSError * _Nullable *)outError;

 

AVAudioRecorder

将音频数据记录到文件中的对象。

 

方法:

(instancetype)initWithURL:(NSURL *)url 

                   settings:(NSDictionary<NSString *,id> *)settings 

                      error:(NSError * _Nullable *)outError;

 

(instancetype)initWithURL:(NSURL *)url 

                     format:(AVAudioFormat *)format 

                      error:(NSError * _Nullable *)outError;

 

 (BOOL)prepareToRecord;

 

(BOOL)record;

 

 (BOOL)recordAtTime:(NSTimeInterval)time;

 

(BOOL)recordForDuration:(NSTimeInterval)duration;

 

 (BOOL)recordAtTime:(NSTimeInterval)time 

         forDuration:(NSTimeInterval)duration;

 

(void)pause;

 

 (void)stop;

 

@property(readonly, getter=isRecording) BOOL recording;

 

 (BOOL)deleteRecording;

 

AVAudioRecorderDelegate

一种协议,定义了对音频录制事件和编码错误作出响应的方法。

 

apple
关注 私信
文章
13
关注
0
粉丝
0