/*** 添加ADTS头* 一帧AAC+7 = packetLen* @param packet* @param packetLen*/
private void addADTStoPacket(byte[] packet, int packetLen) {int profile = 2; // AAC LCint freqIdx = 8; // 16KHzint chanCfg = 1; // CPE// fill in ADTS datapacket[0] = (byte) 0xFF;packet[1] = (byte) 0xF1;packet[2] = (byte) (((profile - 1) << 6) + (freqIdx << 2) + (chanCfg >> 2));packet[3] = (byte) (((chanCfg & 3) << 6) + (packetLen >> 11));packet[4] = (byte) ((packetLen & 0x7FF) >> 3);packet[5] = (byte) (((packetLen & 7) << 5) + 0x1F);packet[6] = (byte) 0xFC;}
  • profile:表示使用哪个级别的AAC,如01 Low Complexity(LC) -- AAC LC
    profile的值等于 Audio Object Type的值减1.
    profile = MPEG-4 Audio Object Type - 1

sampling_frequency_index:采样率的下标

  • channel_configuration:声道数,比如2表示立体声双声道

AAC音频文件添加ADTS头相关推荐

  1. FFMPEG操作流数据-获取aac音频文件

    多媒体文件是一个容器,在容器里有很多的流(Stream/Track[翻译:轨]),如视频流.音频流.字幕流等. 常见操作 解复用 获取流(AVStream) 读数据包(AVPacket) 解码/编码( ...

  2. ffmpeg系列-解决ffmpeg获取aac音频文件duration不准

    这个问题是这样产生的,一同事反应会随机出现ijk获取到的aac文件的duration不准,发来一看,确实不准,在AE或者系统mediaplayer中得到的都是8.4秒(准确时间是MtkAACExtra ...

  3. Android MediaCodec硬解码AAC音频文件并播放

    在这里简单介绍一下,如何利用Android MediaCodec解码AAC音频文件或者实时AAC音频帧并通过AudioTrack来播放.主要的思路就是从文件或者网络获取一帧帧的AAC的数据,送入解码器 ...

  4. Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放

    转载请注明出处:http://blog.csdn.net/a512337862/article/details/72629755 今天在这里简单介绍一下,如何利用android MediaCodec解 ...

  5. 解决ffmpeg获取AAC音频文件duration不准

    最近测试提出了一个bug,ijk获取到的aac文件的duration不准,发来一看,确实不准,在AE或者系统mediaplayer中得到的都是3m48s(准确时间是MMParserExtractor: ...

  6. 如何制作自己想要的AAC音频文件

    本文只是介绍我制作AAC音频文件的整个过程,只作为参考,大家如果有更好的方法,可以不使用此方法. 1.在微信小程序里搜索 语音朗读助手,并点击打开 2.打开小程序后,点击输入文件或链接,将你需要转换成 ...

  7. AAC音频格式解析(ADTS)

    一.AAC文件头信息 1.1 adts_fixed_header 1.2 adts_variable_header 二.代码实现结合 FFmpeg 保存AAC 文件 2.1 FFmpeg读取 AAC数 ...

  8. AAC音频文件怎么转换格式

    首先小编先给大家普及一下AAC格式,它是一种压缩型格式,但是和MP3相比,它们俩却截然不同,对于AAC格式这种文件占内存比较小,其次就是音质会更好一点,其实也是一种不错的选择,但是却不能和MP3格式一 ...

  9. JSP, C 写入文件添加BOM头实例

    1. JSP写文件加入BOM表头. 注: 以下的状况不加BOM头也不会有中文乱码问题, 只是演示一下JSP输出文件如何加BOM头. <% response.setContentType (&qu ...

最新文章

  1. Android源码分析--MediaServer源码分析(一)
  2. 【secureCRT】如何在secureCRT上设置常用的快捷输出按钮栏
  3. htaccess简介和16个小技巧
  4. 解决在 IntelliJ IDEA 中,输入代码时突然不会自动显示下拉框提示
  5. QLineEdit的readonly、disable属性的区别
  6. MSP430学习笔记2---两个LED同时亮灭和顺闪
  7. Linux多线程工作笔记0003---C语言中%p,%u,%lu都有什么用处
  8. 《异星入境》-超粒方
  9. HDU1171-Big Event in HDU
  10. linux怎么快速输入括弧,中括号怎么打-linux运维:shell脚本中花括号的使用技巧...
  11. Java基础学习(2)-注解
  12. 高效制作期刊论文三线表格教程
  13. html怎么把图片左移_html元素向左移代码 html
  14. 如何用示波器测量输出阻抗
  15. 一个程序员经历的7小时全身麻醉
  16. Error on rename ofXXXXXX (errno: 152)
  17. 别人学到失眠,而你看书就犯困?这样提神让你赶走疲惫!
  18. win10系统无法切换输入法无法输出中文
  19. unlink-sleepyholder
  20. 国内十大正规现货交易平台排名(2021版榜单)

热门文章

  1. 初识C51单片机(详解)
  2. spring security+thymeleaf登录失败以及验证码错误提示
  3. 如何阅读一个前向推理框架?以NCNN为例
  4. 旧版VS安装 Visual Studio 2019/2017/2015官方安装教程
  5. 从0到N建立高性价比的大数据平台
  6. 华为离职副总徐家骏给任正非的辞职信,振聋发聩
  7. 如何解决数据库分词的拼写纠正问题 - PostgreSQL Hunspell 字典 复数形容词动词等变异还原...
  8. 如何改掉自己的坏习惯
  9. 最常见的几种排序算法原理和C#实现类库
  10. 专升本笔记记载-第七章-无穷级数