Android视频录制,保存图片,视频到本地后本地相册或者视频库里面没有的解决方案

   1 问题:最近要做一个将服务器视频保存到本地的功能,将视频保存到本地后发现本地相册里面并没有更新该视频,纠其原因是系统的媒体数据库并没有实时的更新
   2 解决方案:利用MediaScannerConnection主动去扫描扫描媒体数据库
            步骤:1.在Activity onCreate里面创建成员变量MediaScannerConntion并调用MediaScannerConntion.connect();
                      2.在需要更新媒体数据库的地方调用MediaScannerConntion.scanFile()
                      3.在onDestroy里面断开连接MediaScannerConntion.disconnect();
   3 具体代码如下:
public class MediaScanActivity extends BaseActivity {

    private MediaScannerConnection mMediaScannerConnection;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //1.创建MediaScannerConnection
        mMediaScannerConnection = new MediaScannerConnection(this, null);
        //调用connect
        mMediaScannerConnection.connect();
    }

    /**
     * @param filePath 保存到本地的文件路径
     * @param isVideo  是否是视频
     */
    private void scanFile(String filePath, boolean isVideo) {
        if (mMediaScannerConnection != null) {
            if (isVideo) {
                //主动扫描视频
                mMediaScannerConnection.scanFile(filePath, "video/mp4");
            } else {
                //主动扫描图片
                mMediaScannerConnection.scanFile(filePath, "image/jpeg");
            }
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mMediaScannerConnection != null) {
            //释放连接
            mMediaScannerConnection.disconnect();
        }
    }
}



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值