安卓手机怎么h5实现调用手机摄像头摄像头时直接播放指定视频

Android 应用调用摄像头如何将拍摄的视频存到指定位置_百度知道
Android 应用调用摄像头如何将拍摄的视频存到指定位置
希望有知道的朋友帮个忙目前使用的方式是通过intent调用的摄像头,没法打开。Uri fileUri = getOutputMediaFileUri(1);intent.putExtra(MediaStore.EXTRA_OUTPUT,存储的文件是空白的,但是这种方式拍摄的时候直接就是静态画面, fileUri)
我有更好的答案
以自己编程调用手机的摄像头使用MediaRecorder录像并播放.net/article/33380.htm里面有详细的讲解://www.jb51.net/article/33380.htm" target="_blank">http://www.jb51。参考<a href="http
首先感谢你的帮助,但是这篇文章上的代码在我的手机上出现错误没法运行。网上说intent调用摄像头拍摄的视频无论是否设置其他路径都会存储在默认位置,我用IO流把文件直接复制过去的。分数加给你吧
采纳率:40%
设置录制的视频帧率。必须放在设置编码和格式的后面;
/&#47.MPEG_4为mp4 / 创建mediarecorder对象
&#47.getHolder().OutputFormat.THREE_GPP);
/&#47。必须放在设置编码和格式的后面,否则报错
mediarecorder.setVideoSize(176;
设置录制的视频编码h263 h264
mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.getSurface()).H264).setOutputFormat(MediaR/ 设置录制视频源为Camera(相机)
mediarecorder, 144).setVideoSource(MediaRecorder.VideoSource.CAMERA);
&#47.setPreviewDisplay(surfaceV
/// 设置录制完成后视频的封装格式THREE_GPP为3
/&#47.setVideoFrameRate(20); 设置视频录制的分辨率mediarecorder = new MediaRecorder();&#47
为您推荐:
其他类似问题
android的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。安卓开发,怎样调用摄像头拍摄视频,并自己命名视频文件保存到SD卡
全部答案(共1个回答)
文件、图片文件等。在使用模拟器开发时,可以通过硬盘来模拟SD卡。Andoid模拟SD具体做法是:1.创建一个SD卡镜像文件打开cmd,我是进入到c盘根目录下,输入如下命令:mksdcad 1024M sdcad.img该命令会在当前目录(我即是c盘根目录)下生成一个sdcad.img文件,该...
在Andoid开发中经常遇到与SD卡有关的调试,比如相关信息文件、图片文件等。在使用模拟器开发时,可以通过硬盘来模拟SD卡。Andoid模拟SD具体做法是:1.创建一个SD卡镜像文件打开cmd,我是进入到c盘根目录下,输入如下命令:mksdcad 1024M sdcad.img该命令会在当前目录(我即是c盘根目录)下生成一个sdcad.img文件,该文件就是Andoid模拟器的SD卡镜像文件。1024M表示1024兆,即该SD卡有1个G的容量,也可用K做单位(1M=1024K),K,M必须大写。目前Andoid支持8M~128G的SD卡。2.关联SD卡和模拟器就是让模拟器知道它的SD卡是谁,路径是什么。在eclipse中使用了ADT插件。eclipse -> windows->Andoid AVD Manage ,弹出一个窗口,在SDCad后面的框中输入:c:\sdcad.img ,即是第一步创建的SD卡镜像文件的位置。先点击ceate avd,然后点击 finish 结束。3、向SD卡中导文件这一步需要把模拟器运行起来。在cmd中,命令如下:ad push test.mp3 sdcadtest.mp3这会将本地当前目录下的test.mp3文件拷到sdcad中,文件名不变。前一个test.mp3是本地文件的路径,sdcad是目的sd卡镜像的文件名(去掉后缀)。4、在模拟器中使用SD卡中的文件导入文件后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面Media scanne scan 一下媒体文件。
在Andorid开发中经常遇到与SD卡有关的调试,比如MP3文件、图片文件等。在使用模拟器开发时,可以通过硬盘来模拟SD卡。Android模拟SD具体做法是:1...
视频的话是保存不了的.图片才可以的
搜先得下载一个播放器。推举腾讯的QQ的播放器。
主要是免费的。其它国外的播放器,要么有广告要么收费。也不见得效果超过腾讯的。
另,你的手机cpu是否够强,分辨率...
打开文件管理器打开文件夹 sdcard——tencent——micromsg——87ad05e(邮数字各字母组成长文件夹主了)——voice里面了所有微信音频文...
先查看代码,找到视频的原地址,输入到地址栏即可
您好,当然是可以的,SD卡本身就是可以当作U盘用的
答: 你好,总是出很多汗的话,这个有可能是身体比较虚弱,要补充一些钙,增加营养,另外就是要注意补充一些水分。
答: 数码照片是什么含义呢
答: 主流手机配置,不错的一个选择。
答: 中关村在线可以
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415我们玩玩手机的录像功能吧。做个DEMO。
看看录制过程:
&mediarecorder = new MediaRecorder();// 创建mediarecorder对象
// 设置录制视频源为Camera(相机)
mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
// 设置录制完成后视频的封装格式THREE_GPP为3gp.MPEG_4为mp4
mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
// 设置录制的视频编码h263 h264
mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
// 设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错
mediarecorder.setVideoSize(176, 144);
// 设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错
mediarecorder.setVideoFrameRate(20);
mediarecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
// 设置视频文件输出的路径
lastFileName = newFileName();
mediarecorder.setOutputFile(lastFileName);
// 准备录制
mediarecorder.prepare();
// 开始录制
mediarecorder.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
&结束拍摄:
if (mediarecorder != null) {
mediarecorder.stop();
mediarecorder.release();
mediarecorder =
贴出我自己的封装类:
package&zyf.demo.import&java.io.Fimport&java.io.IOEimport&java.util.Timport&java.util.TimerTimport&android.media.MediaRimport&android.view.SurfaceVpublic&class&MovieRecorder&{&&&&private&MediaRecorder&&&&&boolean&isR&&&&public&void&startRecording(SurfaceView&surfaceView)&{&&&&&&&&mediarecorder&=&new&MediaRecorder();//&创建mediarecorder对象&&&&&&&&//&设置录制视频源为Camera(相机)&&&&&&&&mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);&&&&&&&&//&设置录制完成后视频的封装格式THREE_GPP为3gp.MPEG_4为mp4&&&&&&&&mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);&&&&&&&&//&设置录制的视频编码h263&h264&&&&&&&&mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);&&&&&&&&//&设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错&&&&&&&&mediarecorder.setVideoSize(176,&144);&&&&&&&&//&设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错&&&&&&&&mediarecorder.setVideoFrameRate(20);&&&&&&&&mediarecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());&&&&&&&&//&设置视频文件输出的路径&&&&&&&&lastFileName&=&newFileName();&&&&&&&&mediarecorder.setOutputFile(lastFileName);&&&&&&&&try&{&&&&&&&&&&&&//&准备录制&&&&&&&&&&&&mediarecorder.prepare();&&&&&&&&&&&&//&开始录制&&&&&&&&&&&&mediarecorder.start();&&&&&&&&}&catch&(IllegalStateException&e)&{&&&&&&&&&&&&//&TODO&Auto-generated&catch&block&&&&&&&&&&&&e.printStackTrace();&&&&&&&&}&catch&(IOException&e)&{&&&&&&&&&&&&//&TODO&Auto-generated&catch&block&&&&&&&&&&&&e.printStackTrace();&&&&&&&&}&&&&&&&&isRecording&=&true;&&&&&&&&timeSize&=&0;&&&&&&&&timer&=&new&Timer();&&&&&&&&timer.schedule(new&TimerTask()&{&&&&&&&&&&&&@Override&&&&&&&&&&&&public&void&run()&{&&&&&&&&&&&&&&&&//&TODO&Auto-generated&method&stub&&&&&&&&&&&&&&&&timeSize++;&&&&&&&&&&&&}&&&&&&&&},&0,1000);&&&&}&&&&Timer&&&&&int&timeSize&=&0;&&&&private&String&lastFileN&&&&public&void&stopRecording()&{&&&&&&&&if&(mediarecorder&!=&null)&{&&&&&&&&&&&&//&停止&&&&&&&&&&&&mediarecorder.stop();&&&&&&&&&&&&mediarecorder.release();&&&&&&&&&&&&mediarecorder&=&null;&&&&&&&&&&&&timer.cancel();&&&&&&&&&&&&if&(null&!=&lastFileName&&&&!"".equals(lastFileName))&{&&&&&&&&&&&&&&&&File&f&=&new&File(lastFileName);&&&&&&&&&&&&&&&&String&name&=&f.getName().substring(0,&&&&&&&&&&&&&&&&&&&&&&&&f.getName().lastIndexOf(".3gp"));&&&&&&&&&&&&&&&&name&+=&"_"&+&timeSize&+&"s.3gp";&&&&&&&&&&&&&&&&String&newPath&=&f.getParentFile().getAbsolutePath()&+&"/"&&&&&&&&&&&&&&&&&&&&&&&&+&&&&&&&&&&&&&&&&&if&(f.renameTo(new&File(newPath)))&{&&&&&&&&&&&&&&&&&&&&int&i&=&0;&&&&&&&&&&&&&&&&&&&&i++;&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&}&&&&}&&&&public&String&newFileName()&{&&&&&&&&try&{&&&&&&&&&&&&return&File.createTempFile("/mov_",&".3gp").getAbsolutePath();&&&&&&&&}&catch&(IOException&e)&{&&&&&&&&&&&&//&TODO&Auto-generated&catch&block&&&&&&&&&&&&e.printStackTrace();&&&&&&&&&&&&return&null;&&&&&&&&}&&&&}&&&&public&void&release()&{&&&&&&&&if&(mediarecorder&!=&null)&{&&&&&&&&&&&&//&停止&&&&&&&&&&&&mediarecorder.stop();&&&&&&&&&&&&mediarecorder.release();&&&&&&&&&&&&mediarecorder&=&null;&&&&&&&&}&&&&}&}
&----------------
那么同时 我们还会播放它:
&public void play(String fileName, SurfaceView view) {
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDisplay(view.getHolder()); // 定义一个SurfaceView播放它
mPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer arg0) {
// canvas.drawColor(Color.TRANSPARENT,
// PorterDuff.Mode.CLEAR);
mPlayer.setDataSource(fileName);
mPlayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
mPlayer.start();
&结束播放时:
public void stop() {
if (mPlayer != null) {
mPlayer.release();
------------&
感谢那些分享技术经验的人。
参考:http://blog.csdn.net/peijiangping1989/article/details/7049991&
阅读(...) 评论()Android多媒体之调用摄像头和从本地相册中选择图片
这个例程的实现的功能是:拍照,自动压缩图片,以及从本地相册选择图片。
需要加载权限:
public class MainActivity extends Activity implements View.OnClickListener {
private Button mButtonTakeP
private Button mButtonGetP
private ImageView mImageViewP
private File mF//存储图片的文件
public static final int GET_PIC_FROM_CAMERA = 0x123;
public static final int GET_PIC_FROM_GALLERY = 0X124;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonTakePhoto = (Button) findViewById(R.id.button_take_photo);
mButtonGetPhoto = (Button) findViewById(R.id.button_get_photo);
mImageViewPhoto = (ImageView) findViewById(R.id.imageView_camera);
mImageViewPhoto.setImageURI(Uri.fromFile(new File(/mnt/sdcard/8.jpg)));
mButtonTakePhoto.setOnClickListener(this);
mButtonGetPhoto.setOnClickListener(this);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case GET_PIC_FROM_CAMERA:
if (resultCode == RESULT_OK) {
ImageZip.zipImage(mFile.getAbsolutePath());//压缩图片
mImageViewPhoto.setImageURI(Uri.fromFile(mFile));
case GET_PIC_FROM_GALLERY:
if(resultCode==RESULT_OK){
getImageFromGallery(data);
* 从本地相册中选择并得到相片
private void getImageFromGallery(Intent data) {
Uri selectedImage = data.getData();
//用一个String数组存储相册所有图片
String[] filePathColumn = { MediaStore.Images.Media.DATA };
//用一个Cursor对象的到相册的所有内容
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
//得到选中图片下标
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
//得到所选的相片路径
String picturePath = cursor.getString(columnIndex);
//关闭Cursor,以免占用资源
cursor.close();
ImageZip.zipImage(picturePath);//一般相册中图片太大,不能直接显示,需要压缩图片
//用一个ImageView展示该图片
mImageViewPhoto.setImageBitmap(BitmapFactory.decodeFile(picturePath));
public void onClick(View v) {
switch (v.getId()) {
case R.id.button_take_photo:
getPictureFromCamera();
case R.id.button_get_photo:
/*Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType();
startActivityForResult(intent, GET_PIC_FROM_GALLERY);*/
//左起参数:选择行为权限,本地相册URI路径
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
//向onActivityResult发送intent,requestCode为GET_PIC_FROM_GALLERY
startActivityForResult(i, GET_PIC_FROM_GALLERY);
* 向onActivityResult发出请求,的到拍摄生成的图片
private void getPictureFromCamera() {
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
//确定存储拍照得到的图片文件路径
mFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis() + .jpg);
mFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
//加载Uri型的文件路径
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mFile));
//向onActivityResult发送intent,requestCode为GET_PIC_FROM_CAMERA
startActivityForResult(intent, GET_PIC_FROM_CAMERA);
压缩图片的类:
public class ImageZip {
* 压缩图片的方法
public static void zipImage(String savePath) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds =
BitmapFactory.decodeFile(savePath, options);
options.inSampleSize = computeInitialSampleSize(options, 480, 480 * 960);
options.inJustDecodeBounds =
Bitmap bitmap = BitmapFactory.decodeFile(savePath, options);
FileOutputStream fos = new FileOutputStream(savePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
bitmap.recycle();
System.gc();
public static Bitmap getZipImage(String savePath){
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds =
BitmapFactory.decodeFile(savePath, options);
options.inSampleSize = computeInitialSampleSize(options, 480, 480 * 960);
options.inJustDecodeBounds =
Bitmap bitmap = BitmapFactory.decodeFile(savePath, options);
bitmap.recycle();
System.gc();
public int computeSampleSize(BitmapFactory.Options options, int minSideLength, int maxNumOfPixels) {
int initialSize = computeInitialSampleSize(options, minSideLength,
maxNumOfPixels);
int roundedS
if (initialSize &= 8) {
roundedSize = 1;
while (roundedSize & initialSize) {
roundedSize &&= 1;
roundedSize = (initialSize + 7) / 8 * 8;
return roundedS
public static int computeInitialSampleSize(BitmapFactory.Options options, int minSideLength, int maxNumOfPixels) {
double w = options.outW
double h = options.outH
int lowerBound = (maxNumOfPixels == -1) ? 1 : (int) Math.ceil(Math
.sqrt(w * h / maxNumOfPixels));
int upperBound = (minSideLength == -1) ? 128 : (int) Math.min(
Math.floor(w / minSideLength), Math.floor(h / minSideLength));
if (upperBound & lowerBound) {
// return the larger one when there is no overlapping zone.
return lowerB
if ((maxNumOfPixels == -1) && (minSideLength == -1)) {
} else if (minSideLength == -1) {
return lowerB
return upperB关键字:&#160;&#160;&#160;&#160;
当前位置: >
支持调用后置摄像头录制视频
详细介绍 - [ 支持调用后置摄像头录制视频 ]
支持调用后置摄像头录制视频,找了很多例子,都不能运行,不知道是我人品问题还是咋的,总算自己搞出来了,分享一下。附件是调用后置摄像头录制视频的完整代码,大家可以看看吧。
下载地址 - [ 支持调用后置摄像头录制视频 ]
推荐使用、下载,请使用解压文件;
下载本站资源,如服务器暂不能下载请过一段时间再试;
本站资源通过 、 等软件检测;
本站部分资源供学习交流使用,如商业用途,请购正版。
网友对“支持调用后置摄像头录制视频”的评论
& 下一篇:
您喜欢这个源码么?
本类热门源码
增值电信业务经营许可证:苏B2-CopyRight &#169;
Down.Admin5.Com
All Rights reserved.}

我要回帖

更多关于 h5实现调用手机摄像头 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信