- 浏览: 217514 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
15197442045:
求demo,谢谢
IOS 后台执行代码(voip socket) -
15197442045:
我用了你这种方式,还是不能后台运行~~~~~
IOS 后台执行代码(voip socket) -
wlpych:
这个m_socket,从哪获得啊,什么方法?用的pjsip。求 ...
IOS 后台执行代码(voip socket)
Phone OS 音频分类:
?System Sound API - short sounds
?AVAudioPlayer class - ObjC, simple API
(2)Lower level, takes more effort but much more control
?Audio Toolbox - recording and playback, streaming, full control
?Audio Units - processing audio
?OpenAL
Sound effects音响效果:
?Button Clicks
?Alert Sounds
?Short Sounds Accompanying User Actions
iPhone OS 主要提供以下了几种播放音频的方法:
?System Sound Services
?AVAudioPlayer 类
?Audio Queue Services
?OpenAL
1. System Sound Services
System Sound Services 是最底层也是最简单的声音播放服务,调用 AudioServicesPlaySystemSound 这个方法就可以播放一些简单的音频文件,使用此方法只适合播放一些很小的提示或者警告音,因为它有很多限制:
■ 声音长度要小于 5 秒(一说小于30秒)
■ In linear PCM 或者 IMA4 (IMA/ADPCM) 格式的
■ 打包成 .caf, .aif, 或者 .wav 的文件
■ 不能控制播放的进度
■ 调用方法后立即播放声音
■ 没有循环播放和立体声控制
另外,它还可以调用系统的震动功能,方法也很简单。具体的代码可以参考官方的示例SysSound,但是官方的示例只有一些简单的用法,从文档中我们发现可以通过 AudioServicesAddSystemSoundCompletion 方法为音频播放添加 CallBack 函数,有了 CallBack 函数我们可以解决不少问题,比如可以克服 System Sound Services 本身不支持循环播放的问题。以下代码可以实现一个在程序中循环播放的背景音乐:
AVAudioPlayer 是 AVFoundation.framework 中定义的一个类,所以使用要先在工程中引入 AVFoundation.framework。我们可以把 AVAudioPlayer 看作是一个高级的播放器,它支持广泛的音频格式,主要是以下这些格式:
■ AAC
■ AMR(AdaptiveMulti-Rate, aformatforspeech)
■ ALAC(AppleLossless)
■ iLBC(internetLowBitrateCodec, anotherformatforspeech)
■ IMA4(IMA/ADPCM)
■ linearPCM(uncompressed)
■ ?-lawanda-law
■ MP3(MPEG-1audiolayer3
AVAudioPlayer 可以播放任意长度的音频文件、支持循环播放、可以同步播放多个音频文件、控制播放进度以及从音频文件的任意一点开始播放等,更高级的功能可以参考 AVAudioPlayer 的文档。要使用 AVAudioPlayer 的对象播放文件,你只需为其指定一个音频文件并设定一个实现了 AVAudioPlayerDelegate 协议的 delegate 对象。这里举一个简单的例子,和上一个例子一样,实现一直循环播放的背景音乐:
3. Audio Queue Services
如果以上两种音频播放的解决方案都无法满足你的需求,那么我想你肯定需要使用 Audio Queue Services。使用 Audio Queue Services 对音频进行播放,你可以完全实现对声音的控制。例如,你可以在声音数据从文件读到内存缓冲区后对声音进行一定处理再进行播放,从而实现对音频的快速/慢速播放的功能。因为 Audio Queue Services 相对复杂很多,Apple 官方已经把它整理为一本书了,具体可以参考 Audio Queue Services Programming Guide 和 SpeakHere 的程序示例。
4. OpenAL
OpenAL 是一套跨平台的开源的音频处理接口,与图形处理的 OpenGL 类似,它为音频播放提供了一套更加优化的方案。它最适合开发游戏的音效,用法也与其他平台下相同。iPhone 支持 OpenAL 1.1,具体的文档可以参考 OpenAL 的网站 http://openal.org 和 oalTouch 的程序示例
发表评论
-
UIWebView清空缓存
2016-07-25 10:03 474- (void)clearAllUIWebViewData { ... -
iOS显示FPS值的工具FHHFPSIndicator
2016-07-04 13:56 0转载:http://www.cocoachina.com/io ... -
响应者链及相关机制总结
2016-06-30 14:25 471转载:http://www.cocoachina.com/i ... -
KVO&KVC的再次认知
2015-02-02 16:01 662KVO模型中,有两种通知观察者的方式,自动通知和手动通知。顾名 ... -
代码重构的理解(持续更新)
2015-01-13 17:27 558代码重构的理解和思考。 1:何时进行重构?当重复出现的时候,你 ... -
深入浅出Cocoa之Framework(转)
2015-01-06 17:49 0Framework 简介 转自 http://www.coc ... -
iOS静态库和动态库
2014-12-24 17:55 767一、什么是库? 库是共 ... -
svg图片在ios上的使用
2014-12-23 15:22 6601:从UI设计师那里得到的是每个svg图通过网站icomoon ... -
svg图片在ios上的使用
2014-12-23 15:22 31971:从UI设计师那里得到的是每个svg图通过网站icomoon ... -
Xcode设置项之Architectures和Valid Architectures
2014-12-22 10:42 589本文所讲的内容都是围绕iPhone的CPU指令集,现在先说说不 ... -
Xcode中Build Settings更改编译后能发现的问题
2014-12-17 13:36 6951:for循环不加括号 2:枚举赋值时类型不匹配 3:for循 ... -
静态库编译心得
2014-12-16 11:16 485我们编译静态库时一般会生成模拟器,真机两个包的.a文件 这二个 ... -
xcode编译选项整理
2014-12-11 19:15 0LINK_WITH_STANDARD_LIBRARIES = ... -
根据dsym解析crash_log
2014-12-01 14:15 8641:拷贝symbolicatecrash到/bin目录下 su ... -
autolayout心得
2014-10-28 13:30 648一:实现方案在以前就已经确定了下面几个点: 1 使 ... -
Objective-C的消息传递机制[转]
2014-07-31 20:34 596一直想写一篇类似的。 直接转载了 http://www.cnb ... -
iOS开发模拟限速
2012-12-07 17:47 53421. 模拟器网速调整: 限制时输入下面两行,根据需要修改下面的 ... -
iphone中结束电话后返回自己的应用(转载)
2012-04-10 10:30 1163iphone中结束电话后返回自己的应用 大家想不想在 ... -
Info.plist中常用的key简介(转载)
2012-03-15 15:55 907UIRequiresPersistentWiFi 在程序中弹出 ... -
UIScrollView 原理(转载)
2012-03-10 19:46 1122scroll view 原理 在滚动过程当中,其实是在修 ...
相关推荐
【iphone应用开发】iphone应用开发之六:UITableView的详细讲解(一)
【iphone应用开发】Iphone应用开发之五: UIScrollView的详细讲解
c和c#开发语言,从基于monotouch进行iphone开发的编程方法到应用程序的发布和销售等,《iPhone高级编程:使用Mono Touch和.NET/C#》涵盖了基于monotouch进行iphone应用程序开发涉及的方方面面。 《iPhone高级编程:...
资源名称:苹果官方iPhone应用高级开发课程(16集)资源...高效iPhone应用开发 2【】[iPhone应用开发高级课程]04.iPhone音频开发【】[iPhone应用开发高级课 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
iPhone开发秘籍:第2版(The iPhone Developer's Cookbook),英文版,清晰PDF版。iphone开发必备佳作,在第一版的基础上进行了全面修订和大量扩充。iPhone开发的重量级参考书,揭示官方文档未详述的细节,代码示例...
ios源码Last.fm的官方iPhone应用程序:支持500多万首音乐.zip
iphone应用程序开发面试常见问题及答案。
这是iPhone简易音频播放程序,具体参考: http://blog.csdn.net/htttw/article/details/7842295
NULL 博文链接:https://justsee.iteye.com/blog/1592553
开发ios必须的书本之一,还有两本是《iPhone开发基础教程_2009.04_(美)Dave Mark, Jeff LaMarche著》 和《iPhone应用程序开发指南》,希望对你有帮助。
iPhone应用开发从入门到精通(移动应用开发技术丛书)-杨帆-郑青青-王凤筱.mobi
iOS 软件开发揭密:iPhone&iPad 企业应用和游戏开发
最新版的用swift4 开发ios应用,好东东,开发必备学习 原版 Beginning iPhone Development with Swift 4: Exploring the iOS SDK
简单中的不简单,iPhone应用开发实践总结:社区类iPhone应用开发的技术实践 | 麻麻帮 陈剑飞 主题简介:很多iPhone应用产品的开发,并没有多少技术亮点,而更多的是对各种iOS开发技术的灵活掌握和应用,以及经验的...
iPhone应用程序编程指南-中文版 pdf iPhone应用程序编程指南-中文版 pdf iPhone应用程序编程指南-中文版 pdf
新手iPhone开发 ,让您学的轻松,看得放心.
NULL 博文链接:https://toyota2006.iteye.com/blog/890939
中文介绍:iPhone是一种全新的移动平台,苹果公司为它推出了强大的软件开发工具包iPhone SDK。本书是一部关于iPhone SDK和iPhone开发的基础教程,内容翔实、语言生动。书中结合消费类设备上常见的实例,循序渐进地...
本系统全称“电子渠道统一监控平台手机版”,是继多 媒体大屏系统之后又一比较炫的面向领导决策层的统一 监控平台。深受联通客户的好评。