Android 中使用MediaRecorder实现视频录制功能

设置视频录制的简易界面<SurfaceView    android:id="@+id/surface"    android:layout_width="match_parent"    android:layout_height="match_parent" />    <LinearLayout        android:layout_above="@+id/surface"        android:layout_width="match_parent"        android:layout_alignParentBottom="true"        android:layout_centerInParent="true"        android:orientation="horizontal"        android:layout_height="wrap_content">        <Button            android:id="@+id/start"            android:text="录制"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />        <Button            android:layout_below="@+id/start"            android:id="@+id/stop"            android:text="停止"            android:enabled="false"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />    </LinearLayout>Java代码

第一部分:声明
private Button start,stop;private SurfaceView surface;private MediaRecorder recorder;private boolean isRecording;//录制的状态

第二部分:加载数据
private void initView(){    start=(Button)findViewById(R.id.start);    stop=(Button)findViewById(R.id.stop);    stop.setOnClickListener(this);    start.setOnClickListener(this);    surface=(SurfaceView)findViewById(R.id.surface);    //设置横屏显示    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);    //设置全屏显示    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);    //设置半透明    getWindow().setFormat(PixelFormat.TRANSLUCENT);    //设置surfaceView,分辨率的设置    surface.getHolder().setFixedSize(1280,720);    //设置屏幕常亮    surface.getHolder().setKeepScreenOn(true)
  recorder=new MediaRecorder();
}第三部分:开始录制
//开始录制public void startRecording(){    //初始化    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);    recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);    //设置视频的录制参数,视频的格式    recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);    //设置音频的编码    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);    //设置视频的编码格式    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);    //设置录入的视频大小    recorder.setVideoSize(176, 144);    //设置一个视频帧数    recorder.setVideoFrameRate(20);    //设置视频存放的路径    try {        File file =new File(Environment.getExternalStorageDirectory().getCanonicalPath(),"myVideo.mp4");        recorder.setOutputFile(file.getAbsolutePath());

//设置预览        recorder.setPreviewDisplay(surface.getHolder().getSurface());        //准备录制        recorder.prepare();    } catch (IOException e) {        e.printStackTrace();    }    recorder.start();    //更改录制状态    isRecording=true;}其余代码参照前篇;
 


 
时间: 2024-12-19 15:59:46

Android 中使用MediaRecorder实现视频录制功能的相关文章

Android 中使用MediaRecorder进行录像详解(视频录制)

在这里给出自己的一个测试DEMO,里面注释很详细.简单的视频录制功能. package com.video; import java.io.IOException; import android.app.Activity; import android.content.pm.ActivityInfo; import android.graphics.PixelFormat; import android.media.MediaRecorder; import android.os.Bundle;

【Android】利用MediaRecorder实现录音对讲功能

看到QQ,微信都有对讲功能,多高大上啊,咋们也来弄一个看看效果.. 这就是效果啦!然后贴代码: package cn.com.zte.uc.ui; import java.io.IOException; import java.util.Timer; import java.util.TimerTask; import android.app.Dialog; import android.content.Context; import android.media.MediaRecorder; i

Android 微信小视频录制功能实现

目录 开发之前 开发环境 相关知识点 开始开发 案例预览 案例分析 搭建布局 视频预览的实现 自定义双向缩减的进度条 录制事件的处理 长按录制 抬起保存 上滑取消 双击放大(变焦) 实现视频的录制 实现视频的停止 完整代码 总结 开发之前 这几天接触了一下和视频相关的控件, 所以, 继之前的微信摇一摇, 我想到了来实现一下微信小视频录制的功能, 它的功能点比较多, 我每天都抽出点时间来写写, 说实话, 有些东西还是比较费劲, 希望大家认真看看, 说得不对的地方还请大家在评论中指正. 废话不多说,

手机端的视频录制功能实现

移动互联网时代来临,一个崭新的时代开始了.所谓移动互联网就是将移动通信和互联网整合在一起,使移动设备(包括手机和上网本)可以随时随地地访问互联网资源和应用.互联网时代创造了一个经济神话,也造就了很多时代英雄,他们一个个令人仰慕.试想为数亿的手机用户和数亿的网民建立一个共同的平台,使其应用到企业.商业和和农村之间,又会是怎样一个惊天动地的伟业呢?新时代开始了,你愿意输在起跑线上吗?与之Android 相关的应用开发随之而来.先大家阐述一下视频录制详细细节. 如何在自己应用程序中播放一个可用的med

Android截图命令screencap与视频录制命令screenrecord

Android截图命令screencap 查看帮助命令 [email protected] ~$ adb shell screencap -v screencap: invalid option -- v usage: screencap [-hp] [-d display-id] [FILENAME] -h: this message -p: save the file as a png. -d: specify the display id to capture, default 0. If

iOS开发进阶 - 用AVFoundation自定义视频录制功能

如果移动端访问不佳,请访问我的个人博客 系统自带的录制视频的功能显然无法满足美工和项目经理的要求,自定义视频录制就非常重要了,那么下面来带大家制作属于自己的视频录制界面. 简介 自定义视频录制需要用到的框架主要是AVFoundation和CoreMedia,包括视频输出,输入和文件的读写,下面给大家罗列一下将要用到的类: AVCaptureSession AVCaptureVideoPreviewLayer AVCaptureDeviceInput AVCaptureConnection AVC

android中使用videoview播放视频

先是布局文件: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 a

Android中本地图片资源以及视频录音资源的获取

经常使用到本地图片的获取,还有录音之类,所以就稍微整理了一下,模式都是差不多的,大家可以参考一下. 这里写代码片package com.ly.day72_camera; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android.net.Uri; import android.os.Environment; import android.

Android中实现打开应用市场的功能

在很多Android应用中有很多都有一个为我们评分的功能,就是点击后打开相关app在应用市场的详情页. 其实这个功能实现起来非常简单 打开应用详情页 try { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("market://details?id="+getPackagename())); startActivity(i); } catch (Exception e) { Toast.makeText(S