iOS开发中的播放系统音效和自定义音效

需求大致分为三种:

1.震动

2.系统音效(无需提供音频文件)

3.自定义音效(需提供音频文件)

我的工具类的封装:

//
//  WQPlaySound.h
//  WQSound
//
//  Created by 念茜 on 12-7-20.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//    

#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>    

@interface WQPlaySound : NSObject
{
    SystemSoundID soundID;
}    

/**
 *  @brief  为播放震动效果初始化
 *
 *  @return self
 */
-(id)initForPlayingVibrate;    

/**
 *  @brief  为播放系统音效初始化(无需提供音频文件)
 *
 *  @param resourceName 系统音效名称
 *  @param type 系统音效类型
 *
 *  @return self
 */
-(id)initForPlayingSystemSoundEffectWith:(NSString *)resourceName ofType:(NSString *)type;    

/**
 *  @brief  为播放特定的音频文件初始化(需提供音频文件)
 *
 *  @param filename 音频文件名(加在工程中)
 *
 *  @return self
 */
-(id)initForPlayingSoundEffectWith:(NSString *)filename;    

/**
 *  @brief  播放音效
 */
-(void)play;    

@end

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, nsstring
, 系统
, return
, 音频
, iOS音频
, 音效
开发音频播放器
ios 播放系统音效、ios开发自定义播放器、ios开发 播放系统声音、坦克世界自定义音效、tmw自定义音效,以便于您获取更多的相关知识。

时间: 2024-10-29 07:16:56

iOS开发中的播放系统音效和自定义音效的相关文章

iOS开发中的对象系统基础

[0] Outline   -- [1] id和Class   -- [2] 动态地操作类   -- [3] 实例化 [1] id和Class 在Objective-C中有一个特别的数据类型作为对象标识符:id,可以指向任何类型的对象. 通过 "可以指向任何类型的对象" 这一描述,猜想id实际上是指向Objective-C对象系统中的基类(继承体系中的祖先结构)的指针,在运行时是指向对象内存布局的基类部分. 第一眼看到id数据类型,我联想到了Python中的PyObject结构: ty

iOS开发中CAlayer层的属性以及自定义层的方法_IOS

CAlayer层的属性一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint anchorPoint; 称为"定位点"."锚点" 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点(0,

ios开发中时间转换的方法集锦

  这篇文章主要介绍了ios开发中时间转换的方法集锦,需要的朋友可以参考下 在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yy

ios开发中两个常见问题解决方法

  ios开发中两个常见问题解决方法来啦!大家知道苹果手机使用的是ios系统,而且用户量很庞大,所以ios开发也成了很热门的行业.下文小乐哥给大家带来ios开发中两个常见问题解决方法,希望给技术员在ios开发中起到帮助作用! ios开发中两个常见问题解决方法 一."Unknown class XXViewController in Interface Builder file."问题处理 最近在静态库中写了一个XXViewController类,然后在主工程的xib中,将xib的类指定

iOS开发中标签控制器的使用——UITabBarController

iOS开发中标签控制器的使用--UITabBarController 一.引言         与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理方式是纵向的,采用push与pop切换控制器,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航,导航中在对ViewController进行管理. 二.创建一个标签控制器         通过如下的步骤,我们可以很简便

iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用

iOS开发中的手势体系--UIGestureRecognizer分析及其子类的使用 一.引言         在iOS系统中,手势是进行用户交互的重要方式,通过UIGestureRecognizer类,我们可以轻松的创建出各种手势应用于app中.关于UIGestureRecognizer类,是对iOS中的事件传递机制面向应用的封装,将手势消息的传递抽象为了对象.有关消息传递的一些讨论,在前面的博客中有提到: iOS事件响应控制:http://my.oschina.net/u/2340880/bl

iOS 开发中的 Flux 架构模式

本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时分享我们目前积累到的经验. 我尝试通过讨论代码来描述我们大部分的 Flux 实现, 它用于我们今天的产品中. 如果你只对综合结果感兴趣, 请跳过这篇文章的中间部分. 为什么从 MVC 转移 为了引入我们的决定, 我想要先谈一谈 PlanGrid 这个应用遇到的一些挑战.一些问题仅针对企业级应用程序,

iOS开发中各种关键字的区别

一.一些概念 浅Copy:指针的复制,只是多了一个指向这块内存的指针,共用一块内存. 深Copy:内存的复制,两块内存是完全不同的, 也就是两个对象指针分别指向不同的内存,互不干涉. atomic是Objc使用的一种线程保护技术, 基本上来讲,是防止在写未完成的时候被另外一个线程读取, 造成数据错误.而这种机制是耗费系统资源的, 所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择. 二.各种属性的解析 weak: <修饰Object类型,A

ios开发中定位失败的情况

问题描述 ios开发中定位失败的情况 最近做了一款app需要用到定位功能,我是打开本地html的那种,调用定位服务也是在js中完成,但是我发现在ios8的操作系统之后的系统中,是没有弹窗提醒是否允许app定位的提醒的,而且设置里面的定位服务内也没有这个app.这是什么情况该怎么解决?注意我是本地文件里js调用定位服务 解决方案 http://www.2cto.com/kf/201410/342392.html 解决方案二: iOS开发 GPS定位 指定语言 返回中文地点