音や音楽を再生するプレーヤーを実装したい。私には次の2つの方法があります。
-(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」は、このオーディオプレーヤーにシングルトンパターンを実装したためです。
サウンドは再生できるが音楽は再生できないように、コードの何が悪いのかについての指針やアイデアはありますか?