2017-03-14 16 views
-1

問題の原因は、mjdev:libaumsおよびUsbStorageProviderからUsbFileです。UsbStorageProviderからビデオサムネイルを取得する方法uri

私はuri.getPath(からのビデオフレームを抽出してみてください) - > /document/usb1002:/GOPR04252.MP4

ImageUtils.getVideoThumbnail(documentUri.getPath(), size.x, size.y); のような方法 ImageUtils

public static Bitmap getVideoThumbnail(String path, int mMaxWidth, int mMaxHeight){ 
     Bitmap.Config mDecodeConfig = Bitmap.Config.RGB_565; 
     ImageView.ScaleType mScaleType = ImageView.ScaleType.CENTER_CROP; 

     File bitmapFile = new File(path); 
     Bitmap bitmap = null; 

     if (!bitmapFile.exists() || !bitmapFile.isFile()) { 
      return bitmap; 
     } 
.... 
} 

からしかし、 nullを返します。 なぜ、どのように修正するのですか?

またはチェックが

//row.add(Document.COLUMN_PATH, getUsbPath(file)); 

UsbStorageProvidergetUsbPathメソッド呼び出しをコメントし

はgetUsbPath(UsbFile)メソッドを実装するためにどのようにそのファイルへのパスを返すこの問題を解決するための他の方法はあります?私たちは、USB OTG用AnExplorerにサンプルの単語implimentingビデオサムネイルでFile

FileまたはdocumentUriUsbFileを変換する場合


推定は、我々は状況を解決することができます

+0

@pskinkこれは外部の場合で、私はdocId usb1002:/GOPR0462.MP4とdocRootId = "usb1002"ですが、getThumbnailには長いIDが必要です。ドキュメントを確認してください – Qamar

+0

OK 'MediaDataRetriever'は' setDataSource(Context context、Uri uri) 'メソッドを持っていますので、動作します。 – pskink

+0

@pskinkはuriを設定できません。それはjava.lang.RuntimeException:setDataSourceが失敗しました:status = 0xFFFFFFEA – Qamar

答えて

1

しかし、 nullを返します。なぜ

あなたはランダムな文字列、fileスキームを持っていませんUrigetPath()を呼び出すことによって得られるもので渡しています。これは、このWebページを指しているUrigetPath()を呼び出すのと同じですが、なぜあなたのハードドライブにファイルが/questions/42783353/custom-provider-uri-to-path-or-usbfile-to-file-pathにないのか不思議です。

そのファイルへのパスを返すgetUsbPath(UsbFile)メソッドを実装する方法はありますか?

the documentationの手順に従って、そのファイルのコンテンツを自分が管理しているファイル(たとえば、getCacheDir())にコピーします。

または、ちょうどInputStreamで動作するAPIを見つけ、UsbFileInputStreamに渡します。

+0

あなたは正しいです。私は 'InputStream = new UsbFileInputStream(usbFile);'に感謝します。 – Qamar

+0

これは、usbFileを使ってexoプレーヤーとAndroid VideoViewでコンテンツをコピーせずにビデオを再生するときに問題に直面することを意味します。何を指示してるんですか? – Qamar

+0

@Qamar: 'StorageProvider'から' Uri'をサードパーティのアプリに渡すことができます。また、HTTPライブラリ統合を使用する必要があります。これにはセキュリティの影響があることに注意してください。 – CommonsWare

関連する問題