package cn.itcast.video;
import android.app.Activity;
import android.content.Context;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
public class VideoRecordActivity extends Activity {
private static final String TAG = "VideoRecordActivity";
private Button startButton;
private Button stopButton;
private boolean record;
private MediaRecorder recorder;
private SurfaceView surfaceView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
recorder = new MediaRecorder();
ButtonListener listener = new ButtonListener();
startButton = (Button)this.findViewById(R.id.start);
stopButton = (Button)this.findViewById(R.id.stop);
this.surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView);
startButton.setOnClickListener(listener);
stopButton.setOnClickListener(listener);
stopButton.setEnabled(false);//不可用
/*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/
this.surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.surfaceView.getHolder().setFixedSize(320, 240);//设置分辨率
this.surfaceView.getHolder().setKeepScreenOn(true);
}
private final class ButtonListener implements View.OnClickListener{
@Override
public void onClick(View v) {
try {
switch (v.getId()) {
case R.id.start:
stopButton.setEnabled(true);//设置可用
startButton.setEnabled(false);
recorder.reset();
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //从照相机采集视频 recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setVideoSize(320, 240);
recorder.setVideoFrameRate(3); //每秒3帧
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263); //设置视频编码方式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile("/mnt/sdcard/itcast.3gp");
recorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
recorder.prepare();//预期准备
recorder.start();//开始刻录
record = true;
break;
case R.id.stop:
stopButton.setEnabled(false);
startButton.setEnabled(true);
if(record){
recorder.stop();//停止刻录
record = false;
}
break;
}
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}
}
}
Android MediaRecorder实现暂停断点录音功能 分类: Android进阶 2012-07-04 14:37 1982人阅读 评论(2) 收藏 举报 androidfilestringlistviewlistnull Android MediaRecorder实现暂停断点录音功能 ...
题外话:发现好久都没有上来写博文了,毕业设计加上公司暂时没有Android的项目做,只能去自学web上的知识,摸爬打滚到现在,花了一个多月时间根据公司的现有模板做了公司内部一个任务管理系统,感觉都是比较浅的知识...
之前写过一个Demo实现了MediaRecorder的暂停录制问题,后来很多人加了我的QQ,所以今天写了这篇博客和大家一起交流分享。 首先,我研究过android的MediaRecorder的API是不支持暂停续录的,所以,客官一定要用...
Android MediaRecorder录音录像 暂停 继续录音 播放 ARM格式(音频一) https://blog.csdn.net/WHB20081815/article/details/88778605 Android 录音机小米商业项目开源代码 AudioRecord录音暂停 播放 Wav格式...
文章目录Android提供了两个API用于录音的实现:mediaRecorderaudioReccrd Android提供了两个API用于录音的实现: MediaRecorder 和AudioRecord。 参考来自https://www.jianshu.com/p/de779d509e6c •...
Android提供麦克风,一般都可以使用该硬件来录音 使用MediaOrder录制过程很简单,有以下几个步骤: 1、实例化MediaRecorder MediaRecorder mediaRecorder = new MediaRecorder(); 2、设置录音来源 ...
谷歌原生MediaRecorder是没有实现Pause()和Resume()。MTK在MediaRecorderEx中扩展了这两个接口,使AP可以调用这两个接口,实现录像pause和resume的功能。但许多客户对这两个接口并不熟悉,不知道怎么调用,因此在...
Android提供了两个API用于录音的实现:MediaRecorder 和AudioRecord。 MediaRecorder:录制的音频文件是经过压缩后的,需要设置编码器。并且录制的音频文件可以用系统自带的Music播放器播放。MediaRecorde...
一、MediaRecorder作用 1、MediaRecorder可以实现直接录制视频,不能对每一帧数据进行处理。如果对每一帧数据都能进行处理的话,有两种选择:1.MediaCodec 2.FFMpeg_x264/openh264 二、使用到的权限 <user-...
1 MediaRecorder介绍 ...MediaRecorder可用于录制音频和视频,本篇只讲解MediaRecorder录音功能,录音控制是基于一个简单的状态机: MediaRecorder要严格遵守各个状态之间的变化,否则会出错。 Initial:...
这些天项目需要用MediaRecorder实现录制视频的暂停功能,原来使用的API是23的版本,MediaRecorder没有自带的pause()方法对录视频进行暂停,所以需要自己实现将每一次暂停形成的小视频进行拼接,但是大家都知道,拼接...
废话 权限、权限、权限,必须要先获取了录音权限,其他的事情晚点再说。 另外,新版本的Android 10系统会对录音有调整,引入了一个录音焦点的...Android系统API提供的录音方式就两种:MediaRecorder、AudioReco...
Android音视频架构与学习路线 MediaRecorder是Android...这里我们要讲的是它的录音功能。 比较简单,开始录制前需要配置几个参数 private void initRecorder() { try { mRecorder = new MediaRecorder(); ...
Android MediaRecorder录音录像 暂停 继续录音 播放 ARM格式(音频一) https://blog.csdn.net/WHB20081815/article/details/88778605 Android 录音机小米商业项目开源代码 AudioRecord录音暂停 播放 Wav格式...
最近研究了下MediaRecorder的录音功能,发现暂停之后,继续录音这个功能,网上参考的资料比较少,现在将自己的学习成果分享大家: 基本原理如下:MediaRecorder通过MIC录音,系统没有自带的paus
4、暂停/继续 1、开始录音 public void startSound(){ path= Environment.getExternalStorageDirectory().getAbsolutePath()+"/1video"; name="sound"; mMediaRecorder=new...
使用 MediaRecorder实现分段录制视频 使用 MediaCodec 和 MediaMuxer 也可以实现分段录制视频,而也是一直这样做,但是遇到一个问题,就是 MediaMuxer 的 OutputFormat 支持 4 种格式,分别是 MUXER_OUTPUT_MPEG_4、...
因为Android 的录音办法不提供暂停方法,虽然很奇怪,播放有,但是录音和录像都没有这个pause();方法,所以只能自己做暂停,并把每次暂停作为一段完整录音保存下来 在用户点击了最终停止录音的按钮或选项时,把...
好久没更新博客了,着实有点惭愧,以后不管工作是忙是闲都得坚持更新博客,持之以恒地做下去! 正式进入主题,今天我分享一个在工作中过程中遇到的一个技术难点以及我解决该难点的方案,该问题困扰了我...
安卓录音有两种实现方式,分别用MediaRecorder和AudioRecord实现,遗憾的是两种实现方式都没有暂停的api。 1.MediaRecorder实现暂停的思路是每次点击暂停都生成一个文件,用数组保存该文件的路径,在结束的时候把...
在android开发中,做聊天页面时,时常需要做语音聊天,本博客就是谈谈个人对于聊天页面语音聊天的简单实现。
历年美国大学生数学建模竞赛题目及翻译.pdf,你值得拥有!
2020年美赛A题数据,excel版方便使用,包括1970-2020北大西洋海面每日数据,官方来源。
2020年美赛优秀论文集,论文为完整版,包含附录,可以上手实操,不过全为英文,推荐结合CopyTranslator阅读:https://copytranslator.github.io/
visio_2016下载安装,亲测可用,不需要破解,而且无秘钥。简单方便实用
这不是rtos源码分析的课程,而是为初级的同学设计,从基础原理讲师,一步步不断迭代设计rtos的课程! 用不到【2000行代码,汇编代码仅18行】(不含注释)实现一个精巧的可以运行在ARM Cortex-M内核芯片上
董付国老师系列教材《Python程序设计基础》(ISBN:9787302410584)、《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,通过大量实际案例讲解Pyth
包含2020美赛所有题目的所有O奖论文,A题8篇,B题5篇,C题6篇,D题7篇,E题5篇,F题6篇。
2020年美赛C题O奖论文(含6篇)
此文档有详细奥特曼大全及关系明细