我想实现一个播放声音和/或音乐的播放器。我有这两种方法:
-(void)playSound:(int)soundIndex
{
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[SoundFxFilenameArray objectAtIndex:soundIndex] ofType:@"mp3"]];
if(FxPlayer)
{
[FxPlayer release];
FxPlayer = nil;
}
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategorySoloAmbient error:nil];
FxPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[FxPlayer play];
}
-(void)playMusic:(NSString *)filename
{
NSURL *url = [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:filename ofType:@"mp3"]];
if(MusicPlayer)
{
[MusicPlayer release];
MusicPlayer = nil;
}
MusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[MusicPlayer play];
}
现在,[[SoundPlayer sharedManager] playSound:FXIndex_Default]
工作得很好。但是,当我尝试播放音乐时,[[SoundPlayer sharedManager] playMusic:@"music_file_name_here"
什么也没做。请注意,声音文件和音乐文件的格式相同 (mp3)。
另外,“sharedInstance”是因为我为这个音频播放器实现了单例模式。
关于我的代码中有什么错误的任何指示或想法,以便我可以播放声音但不能播放音乐?