2016-08-18 7 views
0

私はAndroid TVでビデオプレーヤーを開発しようとしています。 Androidメディアプロバイダを通じてUSBデバイスにメディアファイルを取得できませんでした。 MediaScannerConnectionClientを使用してUSBデバイスディレクトリをスキャンしようとしましたが、動作していないようです。 USBメディアファイルをメディアプロバイダに保存する方法と、メディアにアクセスする方法を教えてください。MediaStoreにメディアファイルを保存する方法

答えて

0

機能を追加してください。その後

public class MediaScannerWrapper implements MediaScannerConnectionClient { 

    private MediaScannerConnection mConnection; 
    private String mPath; 
    private String mMimeType; 

    public MediaScannerWrapper(Context ctx, String filePath, String mime){ 
     mPath = filePath; 
     mMimeType = mime; 
     mConnection = new MediaScannerConnection(ctx, this); 
    } 

    public void scan(){ 
     mConnection.connect(); 
    } 

    @Override 
    public void onMediaScannerConnected() { 
     mConnection.scanFile(mPath, mMimeType); 
     Log.d(getClass().getName(), "Media file scanned: "+mPath); 
    } 

    @Override 
    public void onScanCompleted(String arg0, Uri arg1) { 
    } 

} 

と試みる:

new MediaScannerWrapper(ctx, mostRecentRecording.getFullPath(), "audio/*").scan(); 
ctx.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + PathsHandler.getInstance().getRecordingsDirectory()))); 
+0

MediaScannerWrapperの2番目のパラメータ():文字列filePathに、このパスは、ディレクトリことができますか?私の状況では、これは "/ mnt/sda/sda4"(USBデバイスディレクトリ)でなければなりません。 私の状況でUriをsendブロードキャストしたときの2番目のパラメータについてはわかりません。 – user6687472

+0

私のプラットフォームはAndroid 4.4で、ブロードキャストの送信は許可されていませんMEDIA_MOUNTED – user6687472

関連する問題