使用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