C# で記述されたクライアント アプリがあり、MOV ファイルの長さを読み取りたいと考えています。Windows フォームで Quicktime COM コントロールを作成してホストし、そこにムービーをロードして再生時間を取得する必要があります。私の場合、クライアント アプリは Windows フォームではないため、これは実行できません。
私が実際に行った別の方法は、MOVファイルを生で開き、クリップのムービーヘッダーアトム(「mvhd」)を12バイト超えるまでバイトを調べ、そこからタイムスケールとデュレーションを取得することです. このハックは、Apple が将来ファイル形式を変更した場合に機能しない可能性があるため、私は快適ではありません。
MOV をコントロールにロードすることは避けたいと思います。クリップの長さを取得することだけに関心があり、他には何も関心がないからです。理想的には、mov ファイルのパスを含む文字列をアプリに提供し、そのような期間を取得する必要があります。アンマネージ コードで実行した人はいますか?