0
こんにちは、私は電子ブックリーダーを開発しています。アイコンをクリックすると再生する必要のあるオーディオファイルがいくつかあります。しかし、私はアプリのホームボタンを押してオーディオプレーヤーに戻ると、オーディオは2回再生されています...私は家を押すたびに1つずつ数字が増加し続けますボタンを押して、オーディオプレーヤーに戻ってきて....あなたは私の入力を助けてください....私はこのループは複数回実行されていることを発見したデバッグ...誰も私の理由を教えてくれますか?ホームボタンを押したときにオーディオが2回再生される
-(void)StartPlayingFileWithNotification:(NSNotification *)notifcation{
// Load the array with the sample file
NSString *f = [[notifcation userInfo] valueForKey:@"audiopath"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: f];
if(fileURL == nil){
GLogError(@"%@",@"File Not Found");
return;
}else {
GLogInfo(@"%@",@"Got audio file");
}
if (self.player != nil) {
if (self.player.playing) {
[self.player stop];
}
[player release];
player = nil;
}
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
if (self.player)
{
fileName.text = [NSString stringWithFormat: @"%@ (%d ch.)", [[player.url relativePath] lastPathComponent], player.numberOfChannels, nil];
[self updateViewForPlayerInfo:player];
player.numberOfLoops = 0;
player.delegate = self;
[player play];
[self updateViewForPlayerState:player];
}
[fileURL release];
}
こんにちは、こんにちは、ありがとうございました....私はそれをやる方法についてもう少し説明してください....私はオーディオファイルを割り当てるためにシングルトンオブジェクトを使用していますが、まだ私はソリューションを見つけることができませんでした.. –
あなた自身をデバッグするのが最適です。オーディオプレーヤーを割り当て、サウンドを再生するルーチンにデバッガブレークポイントを配置してみてください。これらのルーチンとはいつ呼び出されているのか、そしていつ参照してください。 – hotpaw2
私はブレークポイントでコードをデバッグしようとしましたが、オーディオファイルが割り当てられているループが複数回実行されていることが判明しました。 –