ios 播放音效

使用AudioToolbox

//
//  SoundEffect.m
//  OPenglES_Test
//
//  Created by KING on 2023/12/31.
//

#import "SoundEffect.h"

@implementation SoundEffect
- (instancetype)initWithContentOfFile:(NSString *)path {
    
    if (self = [super init]) {
    /// 获取声音文件
        NSURL *file = [NSURL fileURLWithPath:path];
        if (file != nil) {
            SystemSoundID soundId;
            OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef)file, &soundId);
            if (error == kAudioSessionNoError) {
                _soundId = soundId;
            } else {
                NSLog(@"error url is nil path=%@ error = %d",path,error);
                self = nil;
            }
        } else {
            self = nil;
            NSLog(@"error url is nil path=%@",path);
        }
        
    }
    
    return self;

    
}
-(void)play{
    AudioServicesPlaySystemSound(_soundId);
    
}
+(instancetype)soundEffectContentOfFile:(NSString *)path {
    
    if (path) {
        return [[SoundEffect alloc]initWithContentOfFile:path];
    }
    return nil;

}
- (void)dealloc {
    AudioServicesDisposeSystemSoundID(_soundId);
}
@end

你可能感兴趣的:(ios,cocoa,objective-c)