Android 录制视频并上传
来源:互联网 发布:sql字符串中有' 编辑:程序博客网 时间:2024/06/15 10:27
一、录制视频
// 点击“录制视频”按钮
recordVideoButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// 将文件存到指定的路径
filePath = FILE_DIR + “xxx.mp4”;
File file = new File(filePath);
if (file.exists()) {
file.delete();
}
Uri uri = Uri.fromFile(file);
Intent intent = new Intent();
intent.setAction("android.media.action.VIDEO_CAPTURE");
intent.addCategory("android.intent.category.DEFAULT");
// 自定义输出位置,这样可以将视频存在我们指定的位置
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, REQUEST_VIDEO_WITH_CAMERA);
}
});
二、上传视频
// 显示视频缩略图
private void showVideoThumbail() {
this.videoView.setVisibility(View.GONE);
this.thumbailView.setVisibility(View.VISIBLE);
this.markIcon.setVisibility(View.VISIBLE);
Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(filePath,
Thumbnails.MINI_KIND);
this.thumbailView.setImageBitmap(bitmap);
this.thumbailView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
showVideo();
}
});
}
// 播放视频
private void showVideo() {
this.videoView.setVisibility(View.VISIBLE);
this.thumbailView.setVisibility(View.GONE);
this.markIcon.setVisibility(View.GONE);
MediaController mediaController = new MediaController(this);
this.videoView.setMediaController(mediaController);
this.videoView.setVideoPath(filePath);
mediaController.setMediaPlayer(videoView);
this.videoView.requestFocus();
this.videoView.start();
}
三、上传视频
// file是要上传的文件
// contentType是类型,我这里用的是“video/mp4”
// requestURL是文件上传请求的URL
private String uploadFile(File file, String contentType, String requestURL) {
String serverResponse = null;
try {
if (!file.exists()) {
return null;
}
this.httpClient = new DefaultHttpClient();
// 为了防止文件的中文乱码问题
this.httpClient.getParams().setParameter(
CoreProtocolPNames.HTTP_CONTENT_CHARSET,
Charset.forName("utf-8"));
HttpContext httpContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(requestURL);
// 使用MultipartEntity 来上传文件,需要导入httpmime-4.1.2.jar
MultipartEntity multipartEntity = new MultipartEntity();
// 使用FileBody来传输视频
multipartEntity.addPart("data", new FileBody(file, contentType));
// 上传
httpPost.setEntity(multipartEntity);
HttpResponse response = this.httpClient.execute(httpPost, httpContext);
serverResponse = EntityUtils.toString(response.getEntity());
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return serverResponse;
}
- Android 录制视频并上传
- iOS 录制视频并上传
- 关于android实时视频录制与上传
- 关于android实时视频录制与上传 .
- android仿微信录制短视频并播放
- Android 实现视频录制并播放
- Android视频录制并转GIF格式
- WebRtc技术实现网页摄像头录制视频并上传服务器
- android仿微信录制短视频并播放视频
- android仿微信录制短视频并播放视频
- Android开发——静音录制视频上传到服务器
- Android切换前后置摄像头并录制视频
- Android切换前后置摄像头并录制视频
- Android切换前后置摄像头并录制视频
- android视频录制(调用系统视频录制)
- freeswitch 录制视频并播放
- Android 视频录制
- android视频录制
- ActiveMQ的知识总结
- js自学笔记--高级技巧
- 【整理】JS中的Navigator对象
- 适配器模式(Adapter模式)
- King6818开发板UART0(debug)为公头,使用交叉串口线
- Android 录制视频并上传
- hbase-1.2.1之协处理器的源码学习
- 如何自学 Android 编程-----整理stormzhang的知乎问答
- 设计模式之工厂模式
- jdbc----preparestatement的简单使用
- POJ 1001 求高精度幂
- NYOJ数独
- euler性质直接判断是否组成路径 uva10129
- 关于HttpUrlConnection+Xpull解析