2011-01-20 2 views
0

안녕하세요, 전자 북 리더를 개발하고 있습니다. 아이콘을 클릭하면 재생해야하는 오디오 파일이 있습니다. 오디오는 처음에는 정상적으로 재생됩니다. 그러나 앱의 홈 버튼을 누르고 오디오 플레이어로 돌아 가면 오디오가 두 번 재생됩니다 ... 집을 누를 때마다 번호가 1 씩 증가합니다. 버튼을 클릭하고 오디오 플레이어로 돌아와 .... 나를 통해 UR 입력과 함께 .... 제발 도와주세요 디버깅 나는이 루프가 여러 번 실행 중입니다 ... 아무도 나에게 이유를 말해 줄래 ?? 당신이 이전 주위에 실행 여전히 있는지 확인하지 않고 오디오 플레이어를 포함하는 새로운 뷰 (또는 다른 개체)를 만드는 것처럼홈 버튼을 누르면 오디오가 두 번 재생됩니다.

-(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]; 

}

답변

0

는 소리. 다른 앱을 만들기 전에 활성화를 선택하거나 앱이 사임 할 때 이전 앱을 정리할 수 있습니다.

+0

안녕 hotpaw2 .... 정말 고마워요 .... 고마워요 .... 어떻게 좀 더 설명해 주실 수 있습니다 .... 나는 오디오 파일을 할당하는 싱글 톤 개체를 사용하고 있지만 여전히 나는 솔루션을 찾을 수 없습니다 .. –

+0

직접 디버깅하는 것이 가장 좋습니다. 오디오 플레이어를 할당하고 사운드를 재생하는 루틴에 디버거 중단 점을 넣으십시오. 이러한 루틴을 언제 호출하는지 확인하십시오. – hotpaw2

+0

나는 브레이크 포인트에 의해 코드를 디버그하려고 시도하고 오디오 파일이 할당되는 루프가 여러 번 실행 중임을 발견했다. –

관련 문제