2010-03-31 6 views
2

재생하는 동안 "비디오"사운드가 손실되는 문제가 있습니다.iPhone MPMoviePlayerController가 실제 장치에서 비디오를 재생하는 동안 사운드를 잃었습니다.

모든 표준을 따르지만 비디오/오디오가 음소거되거나 비디오 파일의 끝 부분에서 사라지는 경우가 있습니다. 나는 이유를 모른다. 무엇이 문제인지 알 수 있습니까?

실제 장치에서 앱을 실행할 때만 발생하며 시뮬레이터에서 문제를 재현 할 수 없습니다.

"didReceiveMemory"경고가이 문제를 일으킬 수 있습니까? 때때로이 메시지가 나타납니다.

도움 주셔서 감사합니다. 아래의 내용을 참조하십시오.

동영상 파일이 6.2 MB 미만의 크기 인 MPEG-4 동영상 형식의 URL 주소를 통해 스트리밍되고 있습니다.

- (IBAction) playMovie:(NSString*)theUrl 
      setMovieType:(NSString *)theType 
      setPlayOption:(int)theOption 
setSenderUIButton:(UIButton *) thisSender 
{ 
    NSString *getvdoUrl = [[NSString alloc] initWithString:theUrl]; 
    NSURL *thisVdoURL = [NSURL URLWithString:getvdoUrl]; 
    [getvdoUrl release]; 
    getvdoUrl = nil; 
    MPMoviePlayerController *movieplayer = [[MPMoviePlayerController alloc] 
         initWithContentURL:thisVdoURL];  
    thisVdoURL = nil; 
    if (movieplayer) 
    { 
     self.vdoPlayer = movieplayer; 
     [movieplayer release]; 
     [[NSNotificationCenter defaultCenter] addObserver:self 
                selector:@selector(moviePlayBackDidFinish:) 
                 name:MPMoviePlayerPlaybackDidFinishNotification 
                object:self.vdoPlayer]; 
     [self.vdoPlayer play]; 
    } 

} 

-(void) moviePlayBackDidFinish:(NSNotification*)theNotification 
{ 



    MPMoviePlayerController *movieplayer= [theNotification object];  
     [[NSNotificationCenter defaultCenter] removeObserver:self 
     name:MPMoviePlayerPlaybackDidFinishNotification 
     object:movieplayer]; 
    movieplayer.initialPlaybackTime = 0.0; 
    [movieplayer stop];   
} 

내가 재생할 수있는 비디오 파일을 시작하기 전에받은 경고 메시지를 다음과 같습니다

나는 다음과 같은 코드가 있습니다.

경고 : "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3 (7E18) /Symbols/System/Library/VideoDecoders/VCH263.videodecoder" (파일이 아닌 에 대한 기호를 읽을 수 없습니다 녹이다).

경고 : 에 대한 기호를 읽을 수 없습니다 "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3 (7E18) /Symbols/System/Library/VideoDecoders/H264H1.videodecoder" (파일을 찾을 수 없음) .

경고 : 에 대한 기호를 읽을 수 없습니다 "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3 (7E18) /Symbols/System/Library/VideoDecoders/MP4VH1.videodecoder" (파일을 찾을 수 없음) .

2010-03-29 16 : 57 : 25.830 .... V2 [4663 : 207] 설정 파일 : /// 개인은/var/모바일/애플리케이션/7DCB1FCC-7268-4551-B737-8B418CA4A07E/TMP/MediaCache/[HTML]

+0

비슷한 경고와 이상한 메모리 문제가 발생하여 해결책을 찾았습니까? – Shizam

답변

0

당신은 그들이 동일하지 모두 다른 MP4 파일을 시도해야 - 당신의로를 만드는 경우 "시사"- 그들은 당신이 퀵타임에서 그들을 만드는 경우 스트리밍에 최적화되어야한다 예를 들어 mp4box의 도움. 파일 오디오 타임 스탬프에 문제가있을 수 있습니다. 사파리 브라우저를 통해 재생하거나 문제가있을 경우 QuickTime으로 재생 해보십시오. 나는 당신이 H264와 AAC를위한 최대 bitrate/profile/level 설정을 따르는 것 같아요.

휴대 전화에서 실제 메모리가 부족한 경우 미디어 플레어가 분리 된 프로세스에서 실행됩니다. 응용 프로그램에서 직접 처리하지 않아도됩니다 (GPU 디코더와 샌드 박스 사용을 허용하는 것으로 추측됩니다). 이 동영상을 앱에서 한 번만 재생하고 있습니까? 나중에 알림을 삭제 하시겠습니까? - 일반적으로 비디오를 재생하기 전에 한 번만 등록하면됩니다.

어떤 펌웨어를 어떤 버전으로 컴파일하고 실행하는지에 따라 다르지만 버그는 이후 버전에서 수정되는 경향이 있지만 4.0 전체 API가 변경되고 코드도 업데이트해야합니다.

경고 메시지는 시뮬레이터에서 유용하지 않습니다. 시뮬레이터의 퀵타임이 데스크톱을 통해 실행됨에 따라 시뮬레이터가 SDK 외부의 모듈에 대한 디버깅 기호에 도달하려고합니다. 퀵타임 - 사운드 카드 드라이버와 더 많은 코덱을 볼 수 있습니다. 귀하의 설정.

관련 문제