2016-08-18 136 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的第二个参数():字符串文件路径,可以在这个路径是目录?在我的情况下,这应该是“/ mnt/sda/sda4”(USB设备目录)。 而我不知道在我的情况下发送Uri时的第二个参数。 – user6687472

+0

我的平台是android 4.4,不允许发送广播MEDIA_MOUNTED – user6687472

相关问题