2010-03-31 65 views
2

我在播放時丟失「視頻」聲音時出現問題。iPhone MPMoviePlayerController在真實設備上播放視頻時會丟失聲音

我遵循了所有的標準,但視頻/音頻有時會被靜音或只是在視頻文件的末尾消失。我不知道爲什麼。有沒有人知道可能是什麼問題?

這隻發生在真實設備上運行應用程序時,我無法在模擬器上重現問題。

「didReceiveMemory」警告是否會導致此問題?有時我會收到這條消息。

謝謝你的幫助。請參閱下面的詳細信息。

視頻文件正在通過URL地址進行流式傳輸,格式爲MPEG-4 Movie,格式小於6.2 MB。

我有以下代碼:

- (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 2010-04-12 16:36:47

回答

0

你應該嘗試不同的MP4文件,他們並不都是平等的 - 「暗示」如果你與創造 - 他們應該流如果你是從QuickTime的創建它們進行優化例如,mp4box的幫助。您的文件音頻時間戳可能存在問題 - 嘗試通過Safari瀏覽器和/或快速時間播放,如果有任何問題。我想你也要遵循H264和AAC的最大比特率/配置文件/等級設置。

如果真的手機內存不足,可能會發生這種情況,mediaplayer會在分離的過程中運行 - 而不是直接在您的應用程序中運行(我想讓它可以使用GPU解碼器和沙盒)。 你只在應用程序中播放過這個視頻嗎?之後您是否刪除通知? - 在播放視頻之前通常只需註冊一次即可。

有些東西取決於你正在編譯和運行哪個固件,錯誤往往會在更高版本中得到修復,但是從4.0整個API發生變化以及代碼需要更新以及...

這些警告信息對模擬器來說是無用的和通用的 - 它們只是模擬器嘗試達到SDK以外的模塊的調試符號 - 因爲模擬器的Quicktime運行在桌面上Quicktime - 您可能會看到聲卡驅動程序和更多編解碼器,在你的設置上。

相關問題