Android开发拍摄视频在图库不显示问题

        把拍摄的视频文件放在了自定义的路径下,无论是使用发广播的方式还是插入数据库的方式,都是无法更新图库,只能查看文件管理器。各种方法都尝试了下,最后才发现系统根本就无法扫描到自己App自定义的路径,很郁闷啊。所以只能在拍摄视频的时候将视频保存在系统能扫描到的路径中,问题解决,我要哭会儿。

测试了几个机型都能在图库里刷新出来,如果还是有不能在图库显示的机型,请告知,谢谢。

如果道友有好的方法,麻烦请告知一下哈。

具体方法:

public void takeVideoFromCamera() {

    SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMddHHmmss");

    String filename = sdf.format(new Date(System.currentTimeMillis())) +".mp4";

    //需要在 Environment.getExternalStorageDirectory().getAbsolutePath() 后边加上 /DCIM/Camera

    File cameraFile =new File(

            Environment.getExternalStorageDirectory().getAbsolutePath() +"/DCIM/Camera",

            filename);

    if (!cameraFile.getParentFile().exists()) {

        cameraFile.getParentFile().mkdirs();

    }

    Intent intent =new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

    //设置视频录制的最长时间 30分钟

    intent.putExtra (MediaStore.EXTRA_DURATION_LIMIT,30*60);

    //设置视频的最大大小 1000M

    intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 1000*1024*1024L);

    //设置视频录制的画质

    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(cameraFile));

    startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);

}

使用发广播的方式:

public static void saveVideoToGallery(Context context, Filefile){

    Uri localUri = Uri.fromFile(file);

    Intent localIntent =new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, localUri);

    context.sendBroadcast(localIntent);

}

如果视频文件保存在系统能扫描到的路径,则不需要使用插入数据库的方式了。


希望能帮到你

你可能感兴趣的:(Android开发拍摄视频在图库不显示问题)