首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MediaCodec进行AAC编解码(AudioRecord采集录音)

我们先回顾一下上一篇MediaCodec进行AAC编解码(文件格式转换)的内容,里面介绍了MediaExtractor的使用,MediaCodec进行音频文件的解码和编码,ADTS的介绍和封装。...今天这篇文章在此基础上跟大家一起学习如何通过Android设备进行音频的采集,然后使用MediaCodec进行AAC编码,最后输出到文件。这部分我们关注的重点就是在如何进行音频的采集。...IOException { MediaCodec encoder = MediaCodec.createEncoderByType(MediaFormat.MIMETYPE_AUDIO_AAC...接下来看到编码逻辑 /** * 编码PCM数据 得到MediaFormat.MIMETYPE_AUDIO_AAC格式的音频文件,并保存到 */ private void...最终得到的record.aac可以使用vlc播放器播放。

1.6K40

MediaCodec进行AAC编解码(文件格式转换)

利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。至于AAC的其他特点网上资料就很多,就不多做介绍了。...在介绍AAC编解码之前,首先要先学习几个新知识MediaExtractor和ADTS格式 仓库源码FFmpegSample,对应版本代码v1.6 MediaExtractor 前面在介绍视频编码的时候使用到了...MediaCodec,其功能主要是进行音视频的编解码。...当你编码AAC裸流的时候,会遇到写出来的AAC文件并不能在PC和手机上播放,很大的可能就是AAC文件的每一帧里缺少了ADTS头信息文件的包装拼接。只需要加入头文件ADTS即可。...第三步 分别开启线程编解码 /** * 开始转码 * 音频数据{@link #srcPath}先解码成PCM PCM数据在编码成MediaFormat.MIMETYPE_AUDIO_AAC

1.9K50
您找到你想要的搜索结果了吗?
是的
没有找到

AAC编解码移植之概念和基本用法

2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。...AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三种主要的编码,LC-AAC就是比较传统的AAC,相对而言,主要用于中高码率...(>=80Kbps),HE-AAC(相当于AAC+SBR)主要用于中低码(<=80Kbps),而新近推出的HE-AACv2(相当于AAC+SBR+PS)主要用于低码率(<=48Kbps),事实上大部分编码器设成...流行的Nero AAC编码程序只支持LC,HE,HEv2这三种规格,编码后的AAC音频,规格显示都是LC。...四 实例简析ffmpeg里面自带aac编解码,假如需要aac,只需要一个命令即可:ffmpeg -f f32le -ar 8000 -ac 1 -i input.pcm output.aac

24420

安卓支持aac编码吗_aac音频格式

所谓的硬编是用设备GPU去实现编解码,从而减轻CPU的压力,让程序更加的健壮,自然而然你就知道了软编其实就是让CPU编码(其实是在c层通过c/c++进行编码,之所以这样是因为c/c++平台上已经有很多比较好的音视频编解码库...为什么要编解码了?原因就是让数据更小便于传输。编解码就好比是压缩与解压!本文是把PCM数据硬编成ACC格式数据。如果对音频的采集不熟悉,请查阅Android 音频采集。...("audio/mp4a-latm"); } catch (Exception e) { e.printStackTrace(); return -1; } // AAC...放心答案就在下图:(也可直接访问官网查,当然需要翻墙 编解码所需要的MediaFormat属性) //编码 @SuppressLint("NewApi") private int encode...This is * needed as MediaCodec encoder generates a packet of raw AAC data.

1.1K20

全网最全:Jetpack AAC(-)解析

真正的精华主要是Architecture,全称是Android Architecture Component(AAC), 即Android架构组件。...以上基本都是官网的介绍,我们主要目标就是掌握AAC的组件,深入理解进而运用到MVVM架构中。 如题,我们学习Jetpack的重点就是AAC,这篇就从基础的Lifecycle讲起。...这里借Android Jetpack架构组件(三)一文带你了解Lifecycle(原理篇)的图总结下: image.png 四、总结 本文先介绍了Jetpack和AAC的概念,这是Android官方推荐的通用开发工具集...其中AAC是架构组件,是本系列文章的介绍内容。接着介绍了AAC的基础组件Lifecycle,它能让开发者更好的管理Activity/Fragment生命周期。...Jetpack的AAC是我们后续开发Android必备知识,也是完成MVVM架构的基础。Lifecycle更是AAC中的基础,所以完整掌握本篇内容十分必要。

1.2K30

音视频技术学习 - 启动篇

目前市面上我们所熟悉的音视频开发大致有:视频播放器、短视频、视音频直播 等等,他们之间有很多的共性像音视频编解码、视音频同步等,因此我们首先来看下这些共性内容。...主要的编码方式有 AAC,AC-3,MP3,WMA 等等。...FFmpeg 整个音视频技术学习的核心就在协议和编解码,其中最复杂重要的部分当属编解码了,如果没有基础的话,我们可以买一些书看一下,实体书或电子书都行。...考虑到 Android 底层本身也是基于 linux 内核,趁着买了云主机的这个机会,我把 linux 内核的基础也学习了一遍。...所以未来几个月的文章和视频,基本都是一些关于 shell 脚本,cmake 语法,linux 内核,音视频编解码,音视频通话,视频直播 等知识。

86310

iOS下 AAC 音频编码

编码结构图 前言 iOS下Apple为我们提供了非常方便的音频编解码工具AudioToolbox。该工具中包含了常见的编解码库,如AAC、iLBC、OPUS等。...今天我们就介绍一下如何使用 AudioToolbox 进行AAC音频的编码工作。 AAC编码的基本流程 在 iOS 中进行AAC编码的流程比较简单,按以下几步即可完成。...设置AAC编器的输入、输出格式。 创建AAC编码器。 转码。 得到AAC编码数据后,增加ADTS头。该头用于区分每个AAC数据帧。 下面我们详细介绍每一步。...同样的,输出参数是AAC,还是OPUS? 每个传输包的大小等。只有这样,AudioToolbox才清楚他要创建一个什么样的编解码器。 当然,这与创建编码器的函数也有关。...创建编解码器 创建编码器除了上面说的要设置输入输出数据格式外,还要告诉 AudioToolbox 是创建编码器还是创建解码器;是创建 AAC 的,还是创建OPUS的;是硬编码还是软编码。

1.9K41

【FFmpeg】在 Mac OS 中编译 FFmpeg 源码 ① ( homebrew 安装 | 通过 gitee 源安装 homebrew | 安装 FFmpeg 编译所需的软件包 )

homebrew 是 Mac OS 中 开发必备的 软件包管理工具 , 其 简化了 Mac 中的软件管理流程 , 提升了 Mac OS 系统的 工作效率 和 软件使用体验 ; 除了 Mac OS 平台之外 , Linux...系统中也可以使用 homebrew , 不过在 Linux 上该软件包管理工具不是主流 ; Linux 中的软件包管理工具 : CentOS 中使用 yum , RedHat 中使用 rpm , Debian...: AAC音频编解码器 ; lame : MP3 编码器 , 将 PCM 音频数据 转码为 MP3 格式 ; libpng : 处理 PNG 图像文件的开源库,可 读取和写入 PNG 图像 ; libass..., 用于 VP8 / VP9 视频编码 ; opus : 开源的音频编码格式及其相关的编解码库 , 用于 交互式语音和音乐传输 , 有利于在网上传输 ; sdl : Simple DirectMedia...工具 ; theora : 开源的无损视频压缩格式 , 与 Vorbis 音频 和 Ogg 容器 使用 ; wget : 网络下载工具 ; x264 / x265 : H.264 / H.265 视频编解码

10710

iOS下解码AAC并播放

在iOS下进行音频解码及播放的大体流程如下: 打开 AAC 文件。 获取音频格式信息。如通道数,采样率等。 从 AAC 文件中取出一帧 AAC 数据。...使用 AudioToolbox 解码 AAC 数据包。 将解码后的 PCM 数据送给 AudioUnit 播放声音。 重复 3-5 步,直到整个 AAC 文件被读完。...下面我们介绍一下 AAC 解码的相关内容。 AAC 解码 AAC 解码与 AAC 编码的逻辑非常类似。 首先,设置音频的输入与输出格式。...其次,创建 AAC 解码器。 解码。 设置输出格式 输入格式由通过Audio File获取。下面是输出格式的代码。...它包括: 打开 AAC 媒体文件。 获取 AAC 媒体格式。 从 AAC 文件中读取一个 AAC 音频帧。 通过 AudioToolbox 解决 AAC 到 PCM。

3.2K21

ffmpeg抽取音频AAC

前 在我的视频课中为了讲解对多媒体文件进行复用和解复用,我特别举了一个例子,就是将一个MP4文件中的音频 AAC 抽取出来。...我在群里给大家耐心的说明了一下 AAC分为 HE-AAC 和 LC-AAC...,由于写的代码只是一个例子,并没有适配所有的情况,所以只对HE-AAC有效,而对于 LC-AAC,需要手动修改一下。...两种实现方式 对于从多媒体文件中抽取出 AAC音频有两种实现方式。一种是我在视频课中举的例子,取出一个个音频包,然后在每个音频包前边手动的加 ADTS Header写成一个文件。...另一种就比较简单了,就是使用 ffmpeg API 直接创建一个 AAC 文件,在 ffmpeg库内部会自己查找到对应的多媒体格式帮你做好 ADTS Header,并最终写好AAC 文件。...这一步非常关键,否则在播放该 AAC文件时出错。

94110
领券