ios 短音效的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 短音效的使用相关的知识,希望对你有一定的参考价值。
1.通用短音效ID的获取
#import <Foundation/Foundation.h> @interface MJAudioTool : NSObject /** * 播放音效 * * @param filename 音效文件名 */ + (void)playSound:(NSString *)filename; /** * 销毁音效 * * @param filename 音效文件名 */ + (void)disposeSound:(NSString *)filename; @end
#import "MJAudioTool.h" #import <AVFoundation/AVFoundation.h> @implementation MJAudioTool // 字典: filename作为key, soundID作为value // 存放所有的音频ID static NSMutableDictionary *_soundIDDict; + (void)initialize { _soundIDDict = [NSMutableDictionary dictionary]; } + (void)playSound:(NSString *)filename { if (!filename) return; // 1.从字典中取出soundID SystemSoundID soundID = [_soundIDDict[filename] unsignedLongValue]; if (!soundID) { // 创建 // 加载音效文件 NSURL *url = [[NSBundle mainBundle] URLForResource:filename withExtension:nil]; if (!url) return; // 创建音效ID AudioservicesCreateSystemSoundID((__bridge CFURLRef)url, &soundID); // 放入字典 _soundIDDict[filename] = @(soundID); } // 2.播放 AudioServicesPlaySystemSound(soundID); } + (void)disposeSound:(NSString *)filename { if (!filename) return; SystemSoundID soundID = [_soundIDDict[filename] unsignedLongValue]; if (soundID) { // 销毁音效ID AudioServicesDisposeSystemSoundID(soundID); // 从字典中移除 [_soundIDDict removeObjectForKey:filename]; } } @end
2.通用方法的使用
[MJAudioTool playSound:@"buyao.wav"];
以上是关于ios 短音效的使用的主要内容,如果未能解决你的问题,请参考以下文章