【实例简介】

【实例截图】

【核心代码】

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安卓视频录制摄像拍摄源码(测试可用)相关推荐

  1. java写脸萌_FaceLovely 本项目是一个仿安卓脸萌app应用的源码, 款非常有趣的拼脸软件,即使你不会画 android 259万源代码下载- www.pudn.com...

    文件名称: FaceLovely下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 6940 KB 上传时间: 2016-05-25 下载次数: 0 详细说明:本项 ...

  2. keep怎么弄轨迹动画_keep怎么录视频?教学视频录像和轨迹动画视频录制方法介绍...

    keep怎么录视频?平时大家没事的时候,都会打开Keep软件,然后按上面的教程进行煅炼,那么我们可以利用keep锻炼时录好视频方便查看.同时呢,我们使用keep记录跑步信息以后,还可以可以将跑步在地图 ...

  3. Android实战项目: 视频资讯APP,源码在文章里免费分享

    文章目录 一.环境搭建 1.资源下载 2.视频地址 3.项目开发情况 二.项目展示 1.首页 2.资讯页面 3.个人中心 4.收藏页面实现 三.配置过程详解 1.导入Mysql数据库 2.Mongdb ...

  4. android飞行射击游戏代码,android 3D飞行射击游戏《夜鹰行动》源码

    压缩包内容概览: android 3D飞行射击游戏<夜鹰行动>源码-airattacker ; 清单 ; 资产 ; 项目 ; 飞骥11 ; 飞骥22 ; 飞骥33 ; 折叠按钮 ; 弗雷格 ...

  5. android 活体识别人脸动作活体静默活体Demo源码实现讲解

    android 活体识别人脸动作活体静默活体Demo源码实现讲解 这里说活体是基于单目摄像头活体,适合所有普通安卓Android 单目摄像头的手机,双目的需要硬件支持,这里不讲述 . 百度网盘体验地址 ...

  6. 直播App中Android酷炫礼物动画如何通过直播程序源码实现方案

    直播App中Android酷炫礼物动画如何通过直播程序源码实现方案 这个动画,如果输出成GIF的话,要3MB,尺寸是750*750.在上一篇文章中已经介绍过几种被否掉的方法,这里再稍作补充说明,如果使 ...

  7. 基于Android Studio开发的旅游记录与分享APP源码,Android旅游路线记录与分享APP源码

    GoTravelling 旅游路线记录与分享Android App--同享旅行 下载地址:基于Android Studio开发的旅游记录与分享APP源码 App介绍 目标用户 在寒暑假内希望结伴同游的 ...

  8. Android Jetpack架构组件之 Room(使用、源码篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...

  9. 【Android 插件化】Hook 插件化框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

最新文章

  1. 不去参加团建k歌,第二天被降薪降职
  2. linux用户命令快捷链接,linux简单命令
  3. MySQL性能医生:Orzdba工具安装和使用
  4. bzoj2751 [HAOI2012]容易题(easy)
  5. 4. PHP之活动记录
  6. xadmin可能是帮助我完成django网站的一大助力
  7. loj #6122. 「网络流 24 题」航空路线问题
  8. C++预编译头文件 – stdafx.h
  9. WORD2016打印文档时,图片打印不正常的解决方法
  10. Ant-deign-vue入门:布局-官方文档踩坑
  11. 软件研发的绩效考核漫谈一
  12. 按键精灵版QQ自动加好友脚本分享
  13. 智慧医疗管理系统解决方案:医药电商系统实现智能化改造
  14. 使用jsp+servlet实现增加和删除
  15. 浙江公务员考试申论指导作答的思路与方法
  16. 前序遍历+中序遍历重建二叉树
  17. vscode源代码管理文件挂起
  18. 【毕业论文】01经济学论文数据哪里找?
  19. 学习总结(抓沙理论、盲人摸象、高屋建瓴、囫囵吞枣)
  20. Excel 使用ODBC直接访问

热门文章

  1. sql server运算符_了解SQL Server中集合理论与集合运算符之间的相互作用
  2. C++ Template 使用简介
  3. export和export default的区别 1
  4. linux 配置内网yum源
  5. 激活BI Content
  6. Jquery使用小技巧
  7. 效率低下的原因--开发者说
  8. 细说 Form (表单)(转)
  9. C#存取数据为所欲为(二)
  10. restframework 第一天