在我的应用程序中,我有两个按钮播放和下载。在下载按钮中,我从互联网下载视频并存储在SD卡中,按下播放按钮时,我将从SD卡播放视频。
视频已成功下载并存储在SD卡中。如果我按播放按钮,我将列出SD卡中的视频(在logcat
中)并播放下载的视频。它不显示下载的视频名称,但如果我从系统中打开SD卡,则下载的视频将存储在SD卡中。我不知道我错在哪里。
答案 0 :(得分:3)
您必须将媒体文件添加到Media Store才能被图库窗口小部件看到。使用MediaScanner。我在我的代码中使用这个方便的包装器:
public class MediaScannerWrapper implements
MediaScannerConnection.MediaScannerConnectionClient {
private MediaScannerConnection mConnection;
private String mPath;
private String mMimeType;
// filePath - where to scan;
// mime type of media to scan i.e. "image/jpeg".
// use "*/*" for any media
public MediaScannerWrapper(Context ctx, String filePath, String mime){
mPath = filePath;
mMimeType = mime;
mConnection = new MediaScannerConnection(ctx, this);
}
// do the scanning
public void scan() {
mConnection.connect();
}
// start the scan when scanner is ready
public void onMediaScannerConnected() {
mConnection.scanFile(mPath, mMimeType);
Log.w("MediaScannerWrapper", "media file scanned: " + mPath);
}
public void onScanCompleted(String path, Uri uri) {
// when scan is completes, update media file tags
}
}
然后实例化MediaScannerWrapper
并以scan()
启动它。你可以调整它来处理多个文件。提示:传递文件路径列表,然后循环mConnection.scanFile
。