我正在尝试在我的应用程序中播放两个.wav文件,但我只能播放第一个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);
}
但我只能播放Beep声音,但不能播放第二个声音wav文件。
错误是什么???
由于
答案 0 :(得分:0)
如果我是你,我会将Audio Toolbox代码包装在一个类中,这样你就可以分解公共代码并更舒适地播放声音(example code)。这也可以解决你的问题,因为它似乎是一个小错字 - 你给我们的示例代码看起来很好。 (您是否尝试记录所有内容?没有空值,所有内容都按预期调用?您是否尝试同时播放两种声音,或者它们之间是否存在延迟?首先运行哪种声音是否重要?)