Androidの開発(例えば、持続時間又はプレビュー映像)取得した映像情報

序文

  アンドロイドはMediaMetadataRetrieverを頼る主に達成した映像情報に買収されました

最高のビデオプレビューを取得

最高いわゆるMediaMetadataRetriever独自の計算であります

    / ** 
     *動画のサムネイルを取得する
     * @param vedioFile 
     * @return 
     * / 
    パブリック 静的なビットマップgetVedioThumbnail(vedioFileファイル){
         IF(!{VedioFile.exists())
            ル( "ビデオファイルは存在しません" );
             戻り ヌル; 
        } 

        レトリーバーMediaMetadataRetrieverである。 = 新しい新しいMediaMetadataRetriever)が(ある。
        retriever.setDataSource(vedioFile.getAbsolutePath()); 
        ビットマップビットマップ = retriever.getFrameAtTime();
         戻りビットマップを; 

    }

あなたのビデオファイルには、資産のファイルである場合

ADF = context.getAssets AssetFileDescriptor()openFd(vedioFile.getAbsolutePath());. // ファイルには、ビデオ・アプリケーション資産のディレクトリである場合 
retriever.setDataSource(adf.getFileDescriptor());

図に指定されたビデオプレビュー時間位置を取得します。

/ ** 
     *動画のサムネイルを取得する
     * @param vedioFile 
     * @return 
     * / 
    パブリック 静的なビットマップgetVedioThumbnail(vedioFileファイル){
         IF(!{VedioFile.exists())
            ル( "ビデオファイルは存在しません" );
             戻り ヌル; 
        } 

        レトリーバーMediaMetadataRetrieverである。 = 新しい新しいMediaMetadataRetriever)が(ある。
        retriever.setDataSource(vedioFile.getAbsolutePath()); 
        ビットマップビットマップ = retriever.getFrameAtTime(1000); // パラメータミリ秒、戻りフレームは、図の時間に近接してい
        戻りビットマップ。

    }

長GETビデオの再生

    / ** 
     *全長ビデオ再生を返す
     * @param vedioFile 
     * @return 
     * / 
    パブリック 静的ロングgetVedioTotalTime(vedioFileファイル){
         IF(!{VedioFile.exists())
            ル( "ビデオファイルは存在しません" );
             戻り ヌル; 
        } 
        。MediaMetadataRetrieverはレトリーバーある = 新しい新規。)MediaMetadataRetrieverは(ある
        retriever.setDataSource(vedioFile.getAbsolutePath()); 
        文字列TimeString =   retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); 
        ロング・タイム= Long.valueOf(timeString)。
        戻る時間を。

    }

追加情報は表を参照してください。

    / ** 
    * メタデータキー、取得するための説明数値文字列
     * 順次記録元のオーディオデータのソースを。
    * /
     公共の 静的 最終 int型の METADATA_KEY_CD_TRACK_NUMBER = 0 ;
     / ** 
    メタデータキーはアルバムタイトル、データソースに関する情報を取得するために使用されます。
    * /
     公共の 静的 最終 int型 METADATA_KEY_ALBUM = 1。;
     / ** 
    メタデータキー、データソースのアーティストに関する情報を取得します。
    * /
     公共の 静的 最終 int型 METADATA_KEY_ARTIST = 2 ;
     / ** 
    情報源に関するデータを取得するためのメタデータキー、。
    * /
     公共の 静的 最終 int型= 3 METADATA_KEY_AUTHOR。;
     / ** 
    メタデータキーは、作曲・データ・ソースに関する情報を取得します。
    * /
     公共の 静的 最終 int型 METADATA_KEY_COMPOSER = 4。;
     / ** 
    メタデータのキーデータソースを作成したり、日付を変更を取得します。
    * /
     公共の 静的 最終 int型 METADATA_KEY_DATE = 5。;
     / ** 
    メタデータキー、コンテンツタイプ、またはデータを取得するためのリソースのタイプ。
    * /
     パブリック 静的 最終 int型 METADATA_KEY_GENRE = 6 ;
     / ** 
    データソースのメタデータキーヘッダを検索するため。
    * /
     公共の 静的 最終 int型 METADATA_KEY_TITLE。7 =;
     / * 
    年作成または変更するデータソースを取得するためのメタデータのキー、。
    * /
     公共の 静的 最終 int型 METADATA_KEY_YEAR = 8。;
     / ** 
    メタデータキー、データ・ソースを取得するための時間を果たしています。
    * /
     公共の 静的 最終 int型 METADATA_KEY_DURATION = 9。;
     / ** 
    など、このようなmp4ファイルや3GPPなどのオーディオ、ビデオ、テキスト、データソース、などのメタデータのキーのトラック番号を、取得します。
    * /
     パブリック 静的 最終 INT METADATA_KEY_NUM_TRACKS = 10 ;
     / ** 
    情報を取得するためのデータソースのメタデータのキー(例えば、単語)のために。
    * /
     公共の 静的 最終 int型の METADATA_KEY_WRITER。11 =;
     / ** 
    * データソースのメタデータキーの検索MIMEタイプ。いくつかの
    「ビデオ:MIMEタイプの記載の例 / MP4」、「オーディオ/ MP4」、「オーディオ/ AMR- WB」など
     * /
     パブリック 静的 最終 int型の METADATA_KEY_MIMETYPE = 12である;
     / ** 
    演奏についての情報を取得するためのメタデータキー上の情報
    のデータソースに関連付けられているアーティスト。
    * /
     公共の 静的 最終 int型 METADATA_KEY_ALBUMARTIST = 13であり;
     / ** 
    これはデジタル文字列記述子の取得のために、メタデータのキー
    ソースからのオーディオデータの一部を。
    * /
     公共の 静的 最終 int型 METADATA_KEY_DISC_NUMBER = 14 ;
     / **
    メタデータキーの音楽アルバムの編集状態を取得するため。
    * /
     公共の 静的 最終 int型の METADATA_KEY_COMPILATION = 15 ;
     / ** 
    * このキーが存在する場合、オーディオコンテンツを含む培地。
    * /
     公共の 静的 最終 int型 METADATA_KEY_HAS_AUDIO = 16 ;
     / ** 
    このキーが存在する場合には、映像コンテンツを含む培地。
    * /
     公共の 静的 最終 int型の METADATA_KEY_HAS_VIDEO = 17。;
     / ** 
    メディアはビデオが含まれている場合、このキーは、その幅を取得します。
    * /
     公共の 静的 最終 int型 METADATA_KEY_VIDEO_WIDTH = 18である;
     / **
    メディアは、ビデオを含めた場合は、このキーは、その高さを取得します。
    * /
     パブリック 静的 最終 INT METADATA_KEY_VIDEO_HEIGHT = 19 ;
     / ** 
    *このキーは、(ビット/平均ビットレートを取得し(可能な場合)秒)。
    * /
     公共の 静的 最終 int型 METADATA_KEY_BITRATE = 20 ;
     / ** 
    テキストトラックの言語コード(もしあれば)を取得し、このキーを押します。次のようにトラック本テキスト複数の場合、戻り値が示される:
     * /
     パブリック 静的 最終 int型 METADATA_KEY_TIMED_TEXT_LANGUAGES = 21である;
     / ** 
    このキーが存在する場合、メディアが保護されています。
    * /
     公共の 静的 最終 int型の METADATA_KEY_IS_DRM = 22であります;
     / * 
    (もしあれば)このキーは、位置情報を取得します。
    ISOの位置はならない -6709標準の「@xyz」MP4 / 3GPボックスを割り当てます。経度- 90度と緯度は
    、例えば、180度として取得される「 -90.0000 + 180.0000 。」
    * /
     公共の 静的 最終 int型の METADATA_KEY_LOCATION = 23であり;
     / ** 
    これは、単位(使用可能な場合)の映像の回転角度を取得するための鍵です。
    ビデオの回転角度が0度、90度、180度または270度であってもよいです。
    * /
     公共の 静的 最終 int型 METADATA_KEY_VIDEO_ROTATION = 24 ;
     / ** 
    * 利用できる(それがある場合)、元のキャプチャフレームレートを取得するには、このキーを押します。キャプチャフレームレートは浮動小数点数になります。
    * /
     公共の 静的 最終 int型= 25 METADATA_KEY_CAPTURE_FRAMERATE ;
     / ** 
    キーが存在する場合、静止画像を含むメディアコンテンツ。
    * /
     公共の 静的 最終 int型の METADATA_KEY_HAS_IMAGE = 26である;
     / ** 
    * メディアは、静止画像が含まれている場合、このキーは、静止画の数を取得します。
    * /
     公共の 静的 最終 int型 METADATA_KEY_IMAGE_COUNT = 27 ;
     / ** 
    * メディアは、静止画像が含まれている場合は、キーインデックスは、メイン画像を取得します。
    * /
     公共の 静的 最終 int型の METADATA_KEY_IMAGE_PRIMARY = 28 ;
     / ** 
    * メディアは、静止画像が含まれている場合は、メイン画像のキーの幅を取得します。
    * /
    パブリック 静的 最終 int型の METADATA_KEY_IMAGE_WIDTH = 29 ;
     / ** 
    * メディアは、静止画像、検索されたメインキーのこの画像の高さが含まれている場合。
    * /
     公共の 静的 最終 int型 METADATA_KEY_IMAGE_HEIGHT = 30 ;
     / ** 
    * メディアは、静止画像、メイン画像(右回り)を取得するためのキーの回転角度が含まれている場合。画像は、回転角度0度、90度、180度または270度のいずれかでなければなりません。
    * /
     パブリック 静的 最終 int型 METADATA_KEY_IMAGE_ROTATION = 31である;
     / ** 
    * メディアがビデオを含み、このキーが存在する場合、ビデオシーケンス内のフレームの総数が検索されます。
    * /
     公共の 静的 最終 int型 METADATA_KEY_VIDEO_FRAME_COUNT = 32。

 

おすすめ

転載: www.cnblogs.com/guanxinjing/p/11057994.html