2

再生中に「ビデオ」サウンドが失われるという問題があります。

私はすべての標準に従いましたが、ビデオ/オーディオがミュートされたり、ビデオ ファイルの最後で消えたりすることがあります。理由がわかりません。何が問題なのか知っていますか?

これは、実際のデバイスでアプリを実行している場合にのみ発生します。シミュレーターで問題を再現することはできません。

「didReceiveMemory」警告がこれを引き起こす可能性はありますか? そんな時、たまにこんなメールが来ます。

ビデオ ファイルは URL アドレス経由でストリーミングされており、MPEG-4 ムービーの形式で、サイズは 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];           
}

以下は警告メッセージです。ビデオファイルの再生が始まる前にそれらを受け取りました:

warning:  Unable to read symbols for 
"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3
(7E18)/Symbols/System/Library/VideoDecoders/VCH263.videodecoder"
(file  not found).


warning: Unable to read symbols for 
"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3
(7E18)/Symbols/System/Library/VideoDecoders/H264H1.videodecoder"
(file  not found).


warning: Unable to read symbols for 
"/Developer/Platforms/iPhoneOS.platform/DeviceSupport/3.1.3
(7E18)/Symbols/System/Library/VideoDecoders/MP4VH1.videodecoder"
(file  not found).

2010-03-29 16:57:25.830 ....
v2[4663:207] setting 
file:///private/var/mobile/Applications/7DCB1FCC-7268-4551-B737-8B418CA4A07E/tmp/MediaCache/[html]
4

1 に答える 1

0

別の MP4 ファイルを試す必要があります。それらはすべて同じではありません。Quicktime から作成する場合は、ストリーミング用に最適化する必要があります。たとえば、mp4box を使用して作成する場合は「ヒント」になります。ファイル オーディオのタイムスタンプに問題がある可能性があります。問題がある場合は、Safari ブラウザや QuickTime で再生してみてください。H264 と AAC の最大ビットレート/プロファイル/レベル設定にも従っていると思います。

携帯電話で実際にメモリが不足している場合、これが発生する可能性があります。メディアプレーヤーは、アプリケーションで直接ではなく、別のプロセスで実行されます (GPU デコーダーを使用してサンドボックス化できるようにするためだと思います)。この動画をアプリで 1 回だけ再生していますか? その後、通知を削除していますか?- 通常、ビデオを再生する前でも、1 回登録するだけで十分です。

コンパイルおよび実行しているファームウェアによって異なります。バグは後のバージョンで修正される傾向がありますが、4.0 からは API 全体が変更され、コードも更新する必要があります...

警告メッセージは、シミュレーターでは役に立たず、一般的です。それらは、シミュレーターが SDK 外のモジュールのデバッグ シンボルに到達しようとしているだけです。シミュレーターの Quicktime はデスクトップの Quicktime を介して実行されます。セットアップによっては、サウンドカード ドライバーとその他のコーデックがそこに表示される場合があります。

于 2011-01-04T18:41:25.550 に答える