Android选择本地视频文件

这篇博客介绍了如何在Android应用中实现选择本地视频文件的功能,支持MP4和3gp格式。选择成功后会触发回调机制。
摘要由CSDN通过智能技术生成

选择视频文件:

 

private void chooseVideo() {
		Intent intent = new Intent();
		/* 开启Pictures画面Type设定为image */
		//intent.setType("image/*");
		// intent.setType("audio/*"); //选择音频
		 intent.setType("video/*"); //选择视频 (mp4 3gp 是android支持的视频格式)

		// intent.setType("video/*;image/*");//同时选择视频和图片

		/* 使用Intent.ACTION_GET_CONTENT这个Action */
		intent.setAction(Intent.ACTION_GET_CONTENT);
		/* 取得相片后返回本画面 */
		startActivityForResult(intent, 1);
	}

 

选择成功后回调:

 

@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// 选取图片的返回值
		if (requestCode == 1) {
			//
			if (resultCode == RESULT_OK) {
				Uri uri = data.getData();
				Cursor cursor = getContentResolver().query(uri, null, null,
						null, null);
				cursor.moveToFirst();
				// String imgNo = cursor.getString(0); // 图片编号
				String v_path = cursor.getString(1); // 图片文件路径
				String v_size = cursor.getString(2); // 图片大小
				String v_name = cursor.getString(3); // 图片文件名
				LogUtil.e("v_path="+v_path);
				LogUtil.e("v_size="+v_size);
				LogUtil.e("v_name="+v_name);
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}

 注:Android系统仅支持MP4和3gp格式视频文件

H5结合Android实现本地视频文件上传,通常会用到HTML5的`<input type="file">`元素,并利用JavaScript进行文件的选择和处理。在Android设备上,由于移动浏览器的限制,用户可能需要通过点击按钮来选择文件。下面是一个基本的实现流程: 1. HTML部分:创建一个文件输入元素,当用户点击它时,可以浏览并选择视频文件。 ```html <input type="file" id="videoFile" accept="video/*" capture="camcorder"> ``` 2. JavaScript部分:当文件输入元素触发change事件时,可以通过JavaScript获取用户选择的文件,并进行进一步的处理,如上传。 ```javascript document.getElementById('videoFile').addEventListener('change', function(event) { const files = event.target.files; // 获取选中的文件 if (files.length > 0) { const file = files[0]; // 获取第一个选中的文件 // 这里可以添加上传文件的代码 } }); ``` 3. 上传视频文件:可以使用`FormData`对象和XMLHttpRequest或者使用第三方库如`axios`来进行文件上传。 ```javascript function uploadVideo(file) { const formData = new FormData(); formData.append('video', file); // 使用axios上传视频文件 axios.post('your-upload-url', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) .then(response => { console.log('上传成功', response.data); }) .catch(error => { console.error('上传失败', error); }); } // 调用uploadVideo函数,传入用户选择的文件 uploadVideo(file); ``` 请注意,在实际的上传过程中,需要有一个后端服务端点来接收上传的文件。同时,出于安全考虑,确保文件上传的URL是安全的,并且对上传的文件类型进行适当的校验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值