2

Xcode 4.31 で構築された iOS 5.1 で実行されているアプリがあり、標準の mpmovieplayercontroller を使用して *.mov ファイルを問題なく再生できます。しかし、ビデオの .m4v または .mp4 バージョンを使用しようとすると、バンドルされません。テスト デバイス (iPad または iPad シミュレーター) からアプリを削除すると、ビルドおよびデプロイ中に .mov がコピーされるのを確認できますが、ne .m4v または .mp4 バージョンはコピーされません。

m4v または mp4 メディアがアプリに存在しないことを確認するように見えるデバッグ コードを追加しました。

if (moviePath) {
    theMovieURL = [NSURL fileURLWithPath:moviePath];
    NSLog(@"theMovieURL: %@", theMovieURL);
}else {
     NSLog(@" there is no theMovieURL");
    return;
}

m4vまたはmp4を使用しようとすると、elseブロックにログメッセージが出力されます。まったく異なるテスト ビデオを試しましたが、毎回同じ結果が得られます。.mov ビデオは問題なく動作しますが、m4v または mp4 ファイルはまったく動作しません。アプリにはかなり大きなビデオを含める必要があるため、最適化されたバージョンを使用したいと考えています.mp4またはm4vのH.264ビデオはファイルサイズの半分未満であるように見えるため、.movバージョンを使用するだけではオプションではありません.

あなたが提供できる洞察に感謝します。

編集/更新: Library/.../[Simulator].../[App name].app ディレクトリを調べたところ、*.mov ファイルが見つかりましたが、*.m4v または *.mp4 ファイルは見つかりませんでした。

4

1 に答える 1

2

Apple の *.mov ファイル形式はコンテナ形式です。*.mp4 または *.m4v ファイルを *.mov として保存できます。これは、基本的にソース *.mp4 または *.m4v を「ラップ」するだけで、ファイル サイズにはほとんど影響しないためです。

編集:
また、多くの *.mp4 ファイルは *.mov に名前を変更するだけで問題なく再生できます。

于 2012-04-12T15:31:40.723 に答える