OkGo 保存視頻(短視頻下載)

導入依賴
       //go 網絡請求框架 基於okhttp
       implementation 'com.lzy.net:okgo:3.0.4'
 
點擊  保存下載
       view_dialog.findViewById(R.id.picture).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                //方法
                    popShotSrceenDialog();
                }
            });

實現
    private void popShotSrceenDialog() {
    //保存視頻
    //參數 map 集合 不需要參數的時候可以不傳 參數是File 類型的時候可以這樣寫addFileParams()
    String savePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/0000AAA";//儲存路徑
    File file = new File(savePath);
    if (!file.exists()) {  //判斷是否有文件  沒有去創建
        file.mkdir();
    }
    //video_name_water  保存的視頻參數
    OkGo.<File>get(video_name_water).execute(new FileCallback(savePath, System.currentTimeMillis() + ".mp4") {
        @Override
        public void onSuccess(com.lzy.okgo.model.Response<File> response) {
            ProgressDialogUtils.dismissDialog();
            dialog.dismiss();
            Toast.makeText(getContext(), "保存成功", Toast.LENGTH_SHORT).show();
            //下載成功通知相冊刷新
            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
            Uri uri = Uri.fromFile(response.body().getAbsoluteFile());
            intent.setData(uri);
            getActivity().sendBroadcast(intent);
        }

        @Override
        public void onStart(Request<File, ? extends Request> request) {
            super.onStart(request);
            ProgressDialogUtils.showDialog(getContext());
        }

        @Override
        public void onError(com.lzy.okgo.model.Response<File> response) {
            super.onError(response);
        }

        @Override
        public void downloadProgress(Progress progress) {
            super.downloadProgress(progress);
        }
    });


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章