安卓中的SD卡

发布于 2024-11-17 08:18:34 字数 216 浏览 2 评论 0原文

在我的应用程序中,我有两个按钮播放和下载。在下载按钮中,我从互联网下载视频并存储在 SD 卡中,当按下播放按钮时,我将播放 SD 卡中的视频。

视频已成功下载并存储到 SD 卡中。如果我按下播放按钮,我将列出 SD 卡中的视频(在 logcat 中)并播放下载的视频。它不显示下载的视频名称,但如果我从系统中打开 SD 卡,下载的视频将存储在 SD 卡中。我不知道我错在哪里。

In my app I have two buttons play and download. In the downlod button I download video from internet and store in SD card, i will play video from the SD card when press play button.

Video is successfully downloaded and stored in SD card. If I press play button, I will list videos from SD card(in logcat) and play the downloaded video. It does not show the downloaded video name, but if I open the SD card from my system the downloaded video is stored in SD card. i do not know where i am wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若相惜即相离 2024-11-24 08:18:34

您必须将媒体文件添加到媒体存储才能被图库小部件看到。使用媒体扫描仪。我在代码中使用了这个方便的包装器:

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

You have to add media files to Media Store in order to be seen by gallery widget. Use MediaScanner. I use this convenient wrapper in my code:

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

Then instantiate MediaScannerWrapper and start it with scan(). You could tweak it to handle more than one file at the time. Hint: pass List of File paths, and then loop around mConnection.scanFile.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文