android 录像 源代码,android安卓视频录制摄像拍摄源码(测试可用)
【实例简介】
【实例截图】
【核心代码】
package com.cn.mvideo;
import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MVideo extends Activity {
private File myRecAudioFile;
private SurfaceView mSurfaceView;
private SurfaceHolder mSurfaceHolder;
private Button buttonStart;
private Button buttonStop;
private File dir;
private MediaRecorder recorder;
private String SD_CARD_TEMP_DIR = getSDPath() File.separator "myvideo"
File.separator;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSurfaceView = (SurfaceView) findViewById(R.id.videoView);
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
buttonStart = (Button) findViewById(R.id.start);
buttonStop = (Button) findViewById(R.id.stop);
dir = new File(SD_CARD_TEMP_DIR);
if (!dir.exists()) {
dir.mkdir();
}
recorder = new MediaRecorder();
buttonStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
recorder();
}
});
buttonStop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
}
});
}
public void recorder() {
try {
myRecAudioFile = File.createTempFile("video", ".3gp", dir);// 创建临时文件
recorder.setPreviewDisplay(mSurfaceHolder.getSurface());// 预览
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); // 录音源为麦克风
recorder.setMaxDuration(10000);// 最大期限
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); // 从照相机采集视频
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setVideoSize(480, 320);
recorder.setVideoFrameRate(3); // 每秒3帧
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT); // 设置视频编码方式
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(myRecAudioFile.getAbsolutePath());// 保存路径
recorder.prepare();
recorder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getSDPath() {
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
if (sdCardExist) {
sdDir = Environment.getExternalStorageDirectory();// 获取跟目录
} else {
return null;
}
System.out.println("sd路径是:" sdDir.toString());
return sdDir.toString();
}
}
android 录像 源代码,android安卓视频录制摄像拍摄源码(测试可用)相关推荐
- java写脸萌_FaceLovely 本项目是一个仿安卓脸萌app应用的源码, 款非常有趣的拼脸软件,即使你不会画 android 259万源代码下载- www.pudn.com...
文件名称: FaceLovely下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 6940 KB 上传时间: 2016-05-25 下载次数: 0 详细说明:本项 ...
- keep怎么弄轨迹动画_keep怎么录视频?教学视频录像和轨迹动画视频录制方法介绍...
keep怎么录视频?平时大家没事的时候,都会打开Keep软件,然后按上面的教程进行煅炼,那么我们可以利用keep锻炼时录好视频方便查看.同时呢,我们使用keep记录跑步信息以后,还可以可以将跑步在地图 ...
- Android实战项目: 视频资讯APP,源码在文章里免费分享
文章目录 一.环境搭建 1.资源下载 2.视频地址 3.项目开发情况 二.项目展示 1.首页 2.资讯页面 3.个人中心 4.收藏页面实现 三.配置过程详解 1.导入Mysql数据库 2.Mongdb ...
- android飞行射击游戏代码,android 3D飞行射击游戏《夜鹰行动》源码
压缩包内容概览: android 3D飞行射击游戏<夜鹰行动>源码-airattacker ; 清单 ; 资产 ; 项目 ; 飞骥11 ; 飞骥22 ; 飞骥33 ; 折叠按钮 ; 弗雷格 ...
- android 活体识别人脸动作活体静默活体Demo源码实现讲解
android 活体识别人脸动作活体静默活体Demo源码实现讲解 这里说活体是基于单目摄像头活体,适合所有普通安卓Android 单目摄像头的手机,双目的需要硬件支持,这里不讲述 . 百度网盘体验地址 ...
- 直播App中Android酷炫礼物动画如何通过直播程序源码实现方案
直播App中Android酷炫礼物动画如何通过直播程序源码实现方案 这个动画,如果输出成GIF的话,要3MB,尺寸是750*750.在上一篇文章中已经介绍过几种被否掉的方法,这里再稍作补充说明,如果使 ...
- 基于Android Studio开发的旅游记录与分享APP源码,Android旅游路线记录与分享APP源码
GoTravelling 旅游路线记录与分享Android App--同享旅行 下载地址:基于Android Studio开发的旅游记录与分享APP源码 App介绍 目标用户 在寒暑假内希望结伴同游的 ...
- Android Jetpack架构组件之 Room(使用、源码篇)
2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...
- 【Android 插件化】Hook 插件化框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
最新文章
- 不去参加团建k歌,第二天被降薪降职
- linux用户命令快捷链接,linux简单命令
- MySQL性能医生:Orzdba工具安装和使用
- bzoj2751 [HAOI2012]容易题(easy)
- 4. PHP之活动记录
- xadmin可能是帮助我完成django网站的一大助力
- loj #6122. 「网络流 24 题」航空路线问题
- C++预编译头文件 – stdafx.h
- WORD2016打印文档时,图片打印不正常的解决方法
- Ant-deign-vue入门:布局-官方文档踩坑
- 软件研发的绩效考核漫谈一
- 按键精灵版QQ自动加好友脚本分享
- 智慧医疗管理系统解决方案:医药电商系统实现智能化改造
- 使用jsp+servlet实现增加和删除
- 浙江公务员考试申论指导作答的思路与方法
- 前序遍历+中序遍历重建二叉树
- vscode源代码管理文件挂起
- 【毕业论文】01经济学论文数据哪里找?
- 学习总结(抓沙理论、盲人摸象、高屋建瓴、囫囵吞枣)
- Excel 使用ODBC直接访问