至 Android 录制声音的应用,Android提供 MediaRecorder 类别.大约MediaRecorder可以参考一个特定的解释<Android开发之MediaRecorder类具体解释>. 使用MediaRecorder录制声音的步骤: 1) 创建 MediaRecorder 对象. 2) 调用MediaRecorder对象的setAudioSource()方法设置声音来源.一般传入 MediaRecorder. AudioSource.MIC參数指定录制来自麦克风的声音. 3…
MediaRecorder除了使用录制音频.还可用于录制视频.关于MediaRecorder的具体解释大家能够參考<Android开发之MediaRecorder类具体解释>.使用MediaRecorder录制视频与录制音频的步骤基本同样.仅仅是录制视频时不仅须要採集声音.还须要採集图像.为了让MediaRecorder录制时採集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置…
0. 下载LAME 并解压缩 http://lame.sourceforge.net/download.php http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz 1. 创建jni/libmp3lame/src目录, 将解压缩后的lame-3.99.5/libmp3lame/ 目录下的 bitstream.c fft.h l3side.h presets.c quantize_pvt.c set_get.…
前言 MediaRecorder可以不依靠Camera API 实现视频的录制,但是如果需要切换摄像头/设置对焦/选择分辨率等等就需要Camera来参与配合录制视频.这篇博客将介绍使用Camera1来实现视频录制.此篇博客不在重复一些细节和坑的介绍.如果你刚接触建议你看我另一篇博客https://www.cnblogs.com/guanxinjing/p/10980906.html这篇博客用更简单易懂的形式说明了MediaRecorder录制视频的步骤,并且有大量深坑的详解介绍,防止你也掉坑里.…
今天介绍一下在Android中怎么录制音频,在Android中使用MediaRecorder来录制音频,步骤: 1.创建MediaRecorder对象. 2.调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来在麦克风的声音. 3.调用MediaRecorder对象的setOutputFormat()设置所录制的音频文件的格式. 4.调用MediaRecorder对象的setAudi…
前言: 公司产品有很多地方都需要上传音频视频,今天抽空总结一下音频视频的录制.学习的主角是MediaRecorder类. MediaRecorder类介绍: MediaRecorder类是Android sdk提供的一个专门用于音视频录制,一般利用手机麦克风采集音频,摄像头采集图片信息. MediaRecorder主要函数: setAudioChannels(int numChannels) 设置录制的音频通道数 setAudioEncoder(int audio_encoder) 设置audi…
Android Camera系列开发 (二)通过Intent录制视频 作者:雨水  2013-8-18 CSDN博客:http://blog.csdn.net/gobitan/ 概述 使用Camera有两种方式:通过Intent方式和通过Camera的API.在开发系列(一) 中已经介绍了通过Intent方式拍照,本文介绍通过Intent的方式录制视频. 通过Itent实现拍录制视频 第一步:在Eclipse中创建一个名为AndroidCamera的Android工程,可参见Helloworld…
在前面我们学习和使用了AudioRecord.AudioTrack.Camera.MediaExtractor.MediaMuxer API.MediaCodec. 学习和使用了上述的API之后,相信对Android系统的音视频处理有一定的经验和心得了.本文及后面的几篇文章做的事情就是将这些知识串联起来,做一些稍微复杂的事情. 一.流程分析 1.1 需求说明 我们需要做的事情就是:串联整个音视频录制流程,完成音视频的采集.编码.封包成 mp4 输出. 1.2 实现方式 Android音视频采集的…
一.实现说明 OpenSL ES的录音要比播放简单一些,在创建好引擎后,再创建好录音接口基本就可以录音了.在这里我们做的是流式录音,所以需要用至少2个buffer来缓存录制好的PCM数据,这里我们可以动态创建一个二维数组,里面有2个buffer,然后每次录音取出一个,录制好后再写入文件就可以了,2个buffer依次来存储PCM数据,这样就可以连续录制流式音频数据了,二维数组里面自己维护了一个索引,来标识当前处于哪个buffer录制状态,暴露给外部的只是调用方法而已,细节对外也是隐藏的. 二.编码…
什么是 PCM 格式 声音从模拟信号转化为数字信号的技术,经过采样.量化.编码三个过程将模拟信号数字化. 采样 顾名思义,对模拟信号采集样本,该过程是从时间上对信号进行数字化,例如每秒采集 44100 次,即采样频率 44.1 khz 量化 既然是将音频数字化,那就需要使用二进制来表示声音的每一个样本.例如每个样本使用 16 位长度来表示,即音频的位深度为 16 位 编码 编码就是按照一定的格式记录采样和量化后的数据,比如顺序存储或压缩存储等 编码后经由不同的算法,音频被保存为不同的格式,例如…
MediaRecorder除了可用于录制音频之外,还可用于录制视频,使用MediaRecorder录制视频与录制音频的步骤基本相同.只是录制视频时不仅需要采集声音,还需要采集图像.为了让MediaRecorder录制时采集图像,应该在调用setAudioSource(int  audio_source)方法时再调用setVideoSource(int  video_source)方法来设置图像来源. 除此之外,还需要在调用setOutputFormat()设置输出文件格式之后进行如下步骤: 1.…
手机一般都提供了麦克风硬件,而Android系统就可以利用该硬件来录制音频了. 为了在Android应用中录制音频,Android提供了MediaRecorder类,使用MediaRecorder录制音频的过程如下: 1.创建MediaRecorder对象. 2.调用MediaRecorder对象的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音. 3.调用MediaRecorder对象的setOut…
版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7457321.html 一.AudioRecord API详解 AudioRecord是Android系统提供的用于实现录音的功能类. 要想了解这个类的具体的说明和用法,我们可以去看一下官方的文档: AndioRecord类的主要功能是让各种JAVA应用能够管理音频资源,以便它们通过此类能够录制声音相关的硬件所收集的声音.此功能的实现就是通过"pulling"(读取)AudioRecord对象的…
版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7457321.html 一.AudioRecord API详解 AudioRecord是Android系统提供的用于实现录音的功能类. 要想了解这个类的具体的说明和用法,我们可以去看一下官方的文档: AndioRecord类的主要功能是让各种JAVA应用能够管理音频资源,以便它们通过此类能够录制声音相关的硬件所收集的声音.此功能的实现就是通过”pulling”(读取)AudioRecord对象的声音数据来…
前言 H264 视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264 以及 ffmpeg 等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使用H264的成本. 但为了用好 H264,我们还是要对 H264 的基本原理弄清楚才行.今天我们就来看看H264 的基本原理. H264概述 H264压缩技术主要采用了以下几种方法对视频数据进行压缩.包括: 帧内预测压缩,解决的是空域数据冗余问题. 帧间预测压缩(运动估计与补偿),解决的…
[Android][录音]Android录音--AudioRecord.MediaRecorder Android提供了两个API用于实现录音功能:android.media.AudioRecord.android.media.MediaRecorder. 网上有很多谈论这两个类的资料.现在大致总结下: 1.AudioRecord 主要是实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理(如会说话的汤姆猫.语音) 优点:语音的实时处理,可以用代码实现各种音频的封装…
Basic4android 是目前最简单.最强大的Android平台快速应用开发工具. ( "Basic4android is the simplest and most powerful Rapid Application Development (RAD) tool available for the Android platform. " ) - 包含开发优秀实用安卓软件所需的所以功能 - 编译为安卓平台本地代码,没有额外的运行库和依赖库 - 拥有超过4万开发者社区,帮助初学者尽…
Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的.只能通过一点点的学习和积累把这块的知识串联积累起来. 初级入门篇: Android 音视频开发(一) : 通过三种方式绘制图片 Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件 Android 音视频开发(三):使用 AudioTrack 播放PCM音频 Android 音视频开发(四):使用 Camera API 采集视频数据 Android 音视频开发(…
一.Android OpenSL ES 介绍 OpenSL ES (Open Sound Library for Embedded Systems)是无授权费.跨平台.针对嵌入式系统精心优化的硬件音频加速API.它为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化, 高性能,低响应时间的音频功能实现方法,并实现软/硬件音频性能的直接跨平台部署,降低执行难度,促进高级音频市场的发展.简单来说OpenSL ES是一个嵌入式跨平台免费的音频处理库. Android的OpenSL ES库是在NDK的…
MainActivity.java package com.example.soundrecord_demo; import java.io.IOException; import android.media.MediaRecorder; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.Vie…
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯开发小结(一) 移动IM开发指南1:如何进行技术选型 移动IM开发指南2:心跳指令详解 移动IM开发指南3:如何优化登录模块 建立安全连接 安全性是 IM 软件的另一个硬需求.消息传递时如果通信数据如果被第三方截取,要能保证别人不能获取到真实内容.安全连接的过程可以参考 HTTPS 的方式,由服务器将证书下发…
  <Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题     Android开发中,难免会遇到需要加解密一些数据内容存到本地文件.或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击.还有很多开发者没有意识到的加密算法的问题.   1.需要了解的基本概念   密码学的三大作用:加密( Encryption).认证(Authentication),…
转载自Keegan小钢原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇Android样式的开发:selector篇Android样式的开发:layer-list篇Android样式的开发:drawable汇总篇Android样式的开发:View Animation篇Android样式的开发:Property Animation篇Android样式的开发:Style篇 一个应用,应该保持一套统一的样式,包括Butt…
Android之NDK开发 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言.但这并不等同于“第三方应用只能使用Java”.在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都可以实现的.…
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.有低成本,低开发周期,轻量化等优点.它统一封装了Andriod,IOS,WindowsPhone,Symbian等几大移动开发平台的API,采用HTML5+JavaScript的混合开发的模式来开发智能移动的APP,解决系统兼容等问题.使用Cordova把APP…
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:前几天微软发布了一个针对Android和iOS开发人员理解Windows Apps概念的映射指导,以帮助他们移植应用到Windows(可谓用心良苦,不知道大家领情不). 这个概念映射使用表格的方式呈现,分作4列,第1列为通用的概念,第2列为Android中的特定概念,第3列为iOS中的特定概念,第4列为UWP的特定概念(且给出了详细知识点的链接).整个映射一共分为了15张表格,分别是: 用户界…
客户端开发给人的印象往往是小巧,快速奔跑.但随着产品的发展,目前产生了大量的门户型客户端.功能模块持续集成,开发人员迅速增长.不同的开发小组开发不同的功能模块,甚至还有其他客户端集成进入.能做到功能模块开发和发布的独立,能像Html5一样能帅气的解决bug并动态更新到用户的手机,一直是客户端开发的梦寐以求的特性. 一.问题提出      一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块.此…
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 原文链接地址:http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started 教程截图: Cocos2D是一个非常棒而且非常容易使用的游戏框架,但是,由于它是采用objc写的,所以你只能使用它来开发…
转自:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言.但这并不等同于“第三方应用只能使用Java”.在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完…
[原]零基础学习SDL开发之移植SDL2.0到Android [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP叠加图 [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片 [原]零基础学习SDL开发之在Android使用SDL2.0加载字体 [原]零基础学习在Android进行SDL开发后记…