使用多个按钮播放多个MP3文件-iPhone SDK-xCode

使用多个按钮播放多个MP3文件-iPhone SDK-xCode,iphone,xcode,sdk,ios6,Iphone,Xcode,Sdk,Ios6,我正在为电影《振铃者》编写一个小的声板应用程序,我对iphonesdk还不熟悉 我已经用下面的代码将所有按钮链接到它们的Mp3文件,但是只有一些按钮播放它们的声音 我已经检查了所有文件名,它们都与代码匹配: - (IBAction)canWeBeAlone:(id)sender { CFBundleRef mainBundle = CFBundleGetMainBundle(); CFURLRef soundfileURLRef; soundfileURLRef = C

我正在为电影《振铃者》编写一个小的声板应用程序,我对iphonesdk还不熟悉

我已经用下面的代码将所有按钮链接到它们的Mp3文件,但是只有一些按钮播放它们的声音

我已经检查了所有文件名,它们都与代码匹配:


- (IBAction)canWeBeAlone:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Can We Be Alone", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);
}

- (IBAction)itsThreeAM:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Its 3AM", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);
}

- (IBAction)iHaveSinned:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"I Have Sinned", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);
}

- (IBAction)mowMyLawn:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Mow My Lawn", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);
}

- (IBAction)theyAreMyFriends:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"They Are My Friends", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);
}

- (IBAction)itsSteve:(id)sender {
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Its Not Jeffy Its Steve", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);
}

- (IBAction)itWasWrongOfMe:(id)sender {

    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundfileURLRef;
    soundfileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"It Was Wrong of Me", CFSTR ("mp3"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundfileURLRef, &soundID);
    AudioServicesPlaySystemSound(soundID);

}

任何帮助都将不胜感激

我认为您应该使用AVAudioPlayer来播放MP3文件,而不是AudioServicesPlaySystemSound。AVAudioPlayer支持播放“…多个声音同时播放,每个音频播放器一个声音,精确同步”。请参见AVAudioPlayer类参考。这里还有一个项目链接,展示了如何使用AVAudioPlayer:[http://www.techotopia.com/index.php/Playing_Audio_on_an_iPhone_using_AVAudioPlayer_(iOS_4)][1]