0
我试图在我的应用程序中播放两个.wav文件,但我只能播放第一个wav文件,第二个文件没有播放。在iPhone中使用AudioServices播放wav文件
我已经添加了AudioToolbox框架。 在我的.h文件我已经包括Audiotoolbox.h文件,并具有以下声明
//Beep Sound
SystemSoundID soundFileObject;
SystemSoundID recycleFileObject;
在我的.m文件我正在注册这两个wav文件如下
CFURLRef soundFileURLRef = CFBundleCopyResourceURL (CFBundleGetMainBundle(),CFSTR ("Beep"),CFSTR ("wav"),NULL);
AudioServicesCreateSystemSoundID (soundFileURLRef,&soundFileObject);
CFURLRef soundFileURLRef2 = CFBundleCopyResourceURL (CFBundleGetMainBundle(),CFSTR ("Recycle"),CFSTR ("wav"),NULL);
AudioServicesCreateSystemSoundID (soundFileURLRef2,&recycleFileObject);
,我有编写了两种单独播放每个文件的方法。
-(void)playBeepSound
{
NSLog(@"Beep sound called : %d", soundFileObject);
AudioServicesPlaySystemSound (soundFileObject);
}
-(void)playRecycleSound
{
NSLog(@"Recycle sound called : %d", recycleFileObject);
AudioServicesPlaySystemSound (recycleFileObject);
}
但我只能够播放哔声,但不能播放第二个声音wav文件。
什么是错误?
感谢
当声音完成播放后,我们需要释放该声音对象 - 我们如何知道声音何时停止? (使用你的包装) – Jonny 2010-09-02 11:14:06
系统声音服务通常用于短的UI效果。这意味着它们可以被循环使用:只有一个特定样本的实例会一遍又一遍地播放而不会释放。例如,当视图控制器被取消分配时,它可能会失去内存。 – zoul 2010-09-02 14:46:37