2012-02-10 9 views
1

私のアプリケーションは、ファイルサイズ、MIMEタイプとともに、sdcardのメディア(オーディオおよびビデオ)ファイルのリストを表示します。私は今、すべてのリスト項目にメディアファイルの合計期間を追加します。 私はそれは私がビデオを再生したくないので、私はvideoview.getDurationを使用することはできません0を返していない場合は、メディアは、以前に再生されている場合のみ、次のコードメディアファイルの長さを知る方法

String[] proj = { MediaStore.Video.VideoColumns.DURATION }; 
Cursor cursor = managedQuery(contentUri, proj, null, null, null); 
int column_index 
    = cursor.getColumnIndexOrThrow(MediaStore.Video.VideoColumns.DURATION); 

しかしMediaStore戻り、正しい時間を使って時間をフェッチしようとしました。 上記のコードで私が間違いをしている場合や、最初にを再生することなく、継続時間を取得する方法が他にあるかどうかを知りたいと思っています。

答えて

2

MediaMetadataRetrieverを使用して、ファイルから再生時間を読み取ることができるはずです。しかし、このクラスを使用するには、プロジェクトが少なくともAPIレベル10(Android 2.3.3)以上である必要があります。

+0

デニスに感謝します。私はこのクラスを見ていきます。このスレッドは結果で更新されます。 – sku

+0

Dennisさん、ありがとうございました。MediaMetaDataRetrieverを使用して動画ファイルの再生時間を取得できました。私のアプリはAPIレベル10以上のために設計されているので、このAPIは便利です。 – sku

+0

私は助けてくれることを知ってうれしく思いました。アプリケーションのデバイスとの互換性を損なうこともありませんでした。 –

関連する問題