iOS开发 播放系统声音和自定义声音文件

2025-09-26 16:00:45

1、创建工程项目和视图控制器

      1、创建一个Sing View Application工程项目;

      2、选中Main.storyboard进行编辑;

      3、添加Navigation Controller并将箭头指向它;

      4、将Navigation Controller的rootViewController指向View Controller。

iOS开发 播放系统声音和自定义声音文件

iOS开发 播放系统声音和自定义声音文件

2、列举常见的系统声音

      创建一个.plist文件,这里命名为:SystemSound.plist;

iOS开发 播放系统声音和自定义声音文件

3、编辑SystemSound.plist文件

      1、.plist文件格式:数组里面包含字典,一个字典代表一个声音;

      2、Category种类、SoundID声音id、FileName声音文件名 。

如图:Property List展示+Source Code展示。

iOS开发 播放系统声音和自定义声音文件

iOS开发 播放系统声音和自定义声音文件

4、获取.plist数据

      1、读取文件:

      NSString *path = [[NSBundle mainBundle] pathForResource:@"" ofType:@"plist"];

      NSMutableArray *soundAry = [NSMutableArray arrayWithContentsOfFile:path];

      2、转换成获取具体值:

      Category种类、SoundID声音id、FileName声音文件名

iOS开发 播放系统声音和自定义声音文件

5、创建UITableView来展示系统声音列表

      这不是重点,能显示就可以了。

iOS开发 播放系统声音和自定义声音文件

6、播放系统声音

      1、包含:#import <AudioToolbox/AudioToolbox.h>

      2、根据SystemSoundID播放,ID值范围:1000~2000

      SystemSoundID soundId = [dictionary[@"SoundID"] intValue];

      AudioServicesPlaySystemSound(soundId);

iOS开发 播放系统声音和自定义声音文件

7、播放自定义声音

      1、将声音文件导入工程;

      2、创建播放音频服务;

      3、播放。

- (void)playSoundWithFileName:(NSString *)fileName

{

    SystemSoundID soundID;

    NSURL *url = [[NSBundle mainBundle] URLForResource:fileName withExtension:nil];

    OSStatus errorCode = AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url) , &soundID);

    if (errorCode != 0) {

        NSLog(@"create sound failed");

    }else{

        AudioServicesPlaySystemSound(soundID);

    }

}

iOS开发 播放系统声音和自定义声音文件

iOS开发 播放系统声音和自定义声音文件

8、完成播放,Demo效果如图。

iOS开发 播放系统声音和自定义声音文件

9、如果您喜欢,请按投票;如果有疑问,欢迎一起探讨。

iOS开发 播放系统声音和自定义声音文件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢