iPhone 应用开发:音频播放
2010-08-29 01:51:00 来源:WEB开发网04 4. }
05 5. - (void) playSound {
06 6. // 获得 main bundle
07 7. CFBundleRef mainBundle;
08 8. SystemSoundID soundFileObject;
09 9. mainBundle = CFBundleGetMainBundle ();
1010. // 获得声音文件的URL
1111. CFURLRef soundFileURLRef = CFBundleCopyResourceURL (
1212. mainBundle,
1313. CFSTR ("background"),
1414. CFSTR ("wav"),
1515. NULL
1616. );
1717. // 创建 system sound 对象
1818. AudioServicesCreateSystemSoundID (
1919. soundFileURLRef,
2020. &soundFileObject
2121. );
2222. // 播放结束回调
2323. AudioServicesAddSystemSoundCompletion (soundFileObject, NULL, NULL,
2424. completionCallback,
2525. (void*) self);
2626. // 播放音频
2727. AudioServicesPlaySystemSound(soundFileObject);
2828.
2929. }
2. AVAudioPlayer 类
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 对象。这里举一个简单的例子,和上一个例子一样,实现一直循环播放的背景音乐:
view sourceprint? 011. - (void) playBackgroundSoundEffect {
- ››iPhone应用帮助残障儿童看图说话
- ››iPhone实用工具AppBox Pro使用教程大揭秘
- ››iphone4省电方法
- ››iphone 获取地址的详细信息
- ››iPhone 库的基本内存管理策略
- ››iPhone加密文字亲手做 私密信息有保障
- ››iphone 根据经纬度坐标取详细地址(包括国,省,市...
- ››iphone/ipad ios cocoa object-c 近期苹果UI部分小...
- ››iphone中如何进行多线程编程
- ››iPhone OS SDK的这些事[安装、下载、版本、实例、...
- ››iPhone ObjectC的NSAutoreleasePool
- ››iPhone 判断设备是在Portrait(纵向)还是(Landscap...
更多精彩
赞助商链接