私の代理人メソッドは次のようになります。最初の曲が再生された後、この方法に入り、2番目の曲が再生されますが、2番目の曲が再生されると停止します。デリゲートメソッドには入っていません。すべての曲を連続して再生する必要があります。私は確信していません、なぜ。誰かが私を助けることができます。あなたはplayer
というローカル変数を定義していないのでavaudioplayerで次の曲を再生する際の問題
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)p successfully:(BOOL)flag
{
if (flag == NO)
NSLog(@"Playback finished unsuccessfully");
else
{
//[player stop];
index++;
NSLog(@"%d",index);
path=[[NSBundle mainBundle] pathForResource:[songlist objectAtIndex:index] ofType:@"mp3"];
[player initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[songlabel2 setTitle:[songlist objectAtIndex:index]];
[endtime setText:[NSString stringWithFormat:@"%.2f",[player duration]/100]];
[player play];
}
}
をおかげでバディ..私はこの明日しようとすると、結果を教えてください。 – Rajashekar
こんにちはBavarious、それは働いた。私はちょうど私がリリースをしなかったデリゲートを設定しました。どうもありがとうございます。私は別の問題を抱えています。一度私はホームボタンを押してアプリが離れて行くと、アプリのアイコンをクリックしたときに2曲同時に再生されます。なぜこれが起こっているのか分かりません。 – Rajashekar
インスタンスを解放して別のインスタンスを作成しないと、メモリが漏れて予測できない副作用が発生する可能性があります。して下さい。 –