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正则表达式的简单使用
- ››iPhone开发Unresolved Symbols CAKeyframeAnimati...
- ››IPhone开发-“此证书是由未知颁发机构签名”解决方...
- ››IPhone开发-整合私钥和证书,生成.p12文件
- ››iPhone应用开发-UIPickerView选取器详解
- ››iphone 获取屏幕的宽度和高度
- ››iPhone读取工程包中的二进制文件
- ››iPhone新手机 不挂YouTube APP
- ››iPhone 获取指定格式的时间和日期
- ››iPhone版PPS走进生活 观赏体验媲美PC版
- ››iPhone两种不同的应用程序:两种方法的哲学思想
更多精彩
赞助商链接