2016-08-18 1 views
0

Je suis en train de développer un lecteur vidéo sur Android TV. Je n'ai pas pu obtenir les fichiers multimédias dans le périphérique USB via le fournisseur de médias Android. J'ai essayé d'utiliser MediaScannerConnectionClient pour analyser le répertoire du périphérique USB, mais cela ne semble pas fonctionner. Pouvez-vous me dire comment stocker les fichiers multimédia USB dans le fournisseur de médias et comment y accéder?Comment stocker des fichiers multimédias dans MediaStore

Répondre

0

essayer d'ajouter la fonction:

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) { 
    } 

} 

puis essayez:

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

Le deuxième paramètre de MediaScannerWrapper(): String filePath, ce chemin peut être un répertoire? Dans ma situation, cela devrait être "/ mnt/sda/sda4" (le répertoire du périphérique USB). Et je n'ai aucune idée sur le second paramètre lorsque sendbroadcast Uri dans ma situation. – user6687472

+0

Ma plate-forme est Android 4.4 et il n'est pas autorisé à envoyer une diffusion MEDIA_MOUNTED – user6687472