博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发,音效的播放简单实现以及音效播放的简单封装
阅读量:6692 次
发布时间:2019-06-25

本文共 797 字,大约阅读时间需要 2 分钟。

一.音效的播放简单实现

二.音效播放的封装 -- 封装思路:将生成的SystemSoundID存放到字典中,每次播放的时候从字典中取出对应的SystemSoundID,没有的话再创建

  • 头文件中定义类方法                                                                                   
  • 代码实现
    #import "ChaosAudioTool.h"#import 
    // 类方法中不能用成员属性,所以只能定义全局变量static NSMutableDictionary *_sounds;@implementation ChaosAudioTool// 懒加载字典+ (void)initialize{ _sounds = [NSMutableDictionary dictionary];}+ (void)playAudioWithSoundName:(NSString *)soundName{ if (_sounds[soundName] == nil) { // 先通过字典取,没有的话创建 SystemSoundID soundID = 0; NSURL *url = [[NSBundle mainBundle] URLForResource:soundName withExtension:nil]; AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)(url), &soundID); // 存入集合 _sounds[soundName] = @(soundID); } AudioServicesPlaySystemSound([_sounds[soundName] unsignedIntValue]);}

     

转载地址:http://glcoo.baihongyu.com/

你可能感兴趣的文章
高性能Web服务之tomcat基础应用详解(一)
查看>>
Python虚拟环境:Vitualenv
查看>>
反思~~~~~~思绪有点乱
查看>>
android-------非常好的图片加载框架和缓存库(Picasso)
查看>>
Titanium, PhoneGap, Sencha Touch, jQuery Mobile – Clearing up confusion
查看>>
eclipse如何部署Web工程到tomcat中
查看>>
在CentOS7上安装JDK1.8
查看>>
搜索和网页排名的数学原理
查看>>
Xcode项目中同一个名称不同位置 简单修改
查看>>
java设计模式-建造者模式
查看>>
oracle笔记
查看>>
ContentProvider数据更新
查看>>
一些常用RPM Repository(RPM软件仓库)地址
查看>>
Xcode常用插件
查看>>
实体 map 属性
查看>>
php设计模式--适配器模式
查看>>
java中的枚举类 enum使用与分析
查看>>
JAVA 四大域对象总结
查看>>
GIT 常用命令
查看>>
企业级落地容器与DevOps,选用K8S都有哪些“姿势”
查看>>