WEB开发网
开发学院手机开发iPhone 开发 iPhone 应用开发:音频播放 阅读

iPhone 应用开发:音频播放

 2010-08-29 01:51:00 来源:WEB开发网   
核心提示:04 4. }05 5. - (void) playSound {06 6. // 获得 main bundle07 7. CFBundleRef mainBundle;08 8. SystemSoundID soundFileObject;09 9. mainBundle = CFBundleGetMainBundl

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 {

上一页  1 2 3 4  下一页

Tags:iPhone 应用开发 音频

编辑录入:coldstar [复制链接] [打 印]
赞助商链接