关于手机的网站有哪些内容,本溪建设网站,海外网站优化,东莞定制网站开发1.在页面按钮或图标控件中添加点击事件#xff0c;并调用选择文件动作 //点击图片选择视频按钮事件public void uploadvideo(View view){Intent intent new Intent(Intent.ACTION_GET_CONTENT); // 选择文件动作intent.setType(video/*); …1.在页面按钮或图标控件中添加点击事件并调用选择文件动作 //点击图片选择视频按钮事件public void uploadvideo(View view){Intent intent new Intent(Intent.ACTION_GET_CONTENT); // 选择文件动作intent.setType(video/*); // 要选择的文件类型为视频startActivityForResult(intent,REQUEST_CODE_VIDEO);}
2.在 onActivityResult 方法中获取实际视频地址 Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode REQUEST_CODE_VIDEO resultCode RESULT_OK){Uri fileUri data.getData();// 4.4及以上系统使用这个方法处理if(DocumentsContract.isDocumentUri(this,fileUri)){ //4.4以上版本获取路劲String docID DocumentsContract.getDocumentId(fileUri);String id docID.split(:)[1];Cursor cursor getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,null,MediaStore.Video.Media._IDid,null,null);if(cursor!null){if(cursor.moveToFirst()){int columnId cursor.getColumnIndex(MediaStore.Video.Media.DATA);filePath cursor.getString(columnId);}}}else { //4.4以前获取路径filePath getVideoPath(fileUri, null);}if(filePath!null){//根据实际路劲获取缩略图Bitmap thumbnail ThumbnailUtils.createVideoThumbnail(filePath, MediaStore.Video.Thumbnails.MINI_KIND);if (thumbnail ! null) {//对上传的视频大小进行限制if(getVoidSize(filePath)30){Tools.tips(getApplicationContext(),视频大小不能超过30M);}else{//将满足条件的视频缩略图显示到ImageView控件里ImageView imageView findViewById(R.id.video_img);imageView.setImageBitmap(thumbnail);}}}}}
3.获取视频路劲方法 //获取视频路劲private String getVideoPath(Uri uri, String selection) {String path null;// 通过Uri和selection来获取真实的视频路径Cursor cursor getContentResolver().query(uri, null, selection, null, null);if (cursor ! null) {if (cursor.moveToFirst()) {path cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));}cursor.close();}return path;}
4.获取视频大小方法 //获取视频大小private double getVoidSize(String filePath){long size Tools.getVideoSize(filePath);double sizeInMegabytes 0;if (size 0) {// 转换为可读的格式例如MBsizeInMegabytes (size / 1024.0) / 1024.0;}return sizeInMegabytes;}
5.上传视频方法 //上传视频private void uploadVideo(String filePath,String sjid) {OkHttpClient okHttpClient new OkHttpClient();if(filePath!filePath!null){if(filePath.contains(mp4)){File filenew File(filePath);MultipartBody.Builder builder new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart(video,file.getName(), RequestBody.create(MediaType.parse(video*//*),file)).addFormDataPart(sjid,sjid);MultipartBody requestBody builder.build();Request request new Request.Builder().url(Quantity.url_XluploadVideo).post(requestBody).build();Call call okHttpClient.newCall(request);call.enqueue(new Callback() {Overridepublic void onFailure(Call call, IOException e) {Log.e(TAG, onFailure: e);runOnUiThread(new Runnable() {Overridepublic void run() {Toast.makeText(Dkxl_main.this, 视频上传失败, Toast.LENGTH_SHORT).show();
}
});
}Overridepublic void onResponse(Call call, Response response) throws IOException {Log.e(TAG, 视频上传成功 response);runOnUiThread(new Runnable() {Overridepublic void run() {Tools.tips(getApplicationContext(),视频上传成功);}});}});}}}