![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
文章平均质量分 65
yangyasong
这个作者很懒,什么都没留下…
展开
-
Android ffmpeg ubuntu16.04下订制化的交叉编译
Android ffmpeg ubuntu16.04下订制编译 知识准备 ffmpeg是个重量级的音视频相关库,在编译ffmpeg之前需要对ffmpeg各部分的功能有所了解,这样才能订制化的编译出自己需要的so,你也不想编译出来的so加起来10M多吧 libavcodec 包含全部FFmpeg音频/视频编解码库。 libavformat:实现了流媒体协议(udp、rtp、rt...原创 2018-06-06 10:30:16 · 589 阅读 · 0 评论 -
Android OpenSL介绍 并实现播放PCM功能
目录 Android 万能音频播放器 一 C++多线程解码音频数据 Android 万能音频播放器 二 C++队列存放AvPacket 前言 简单来说OpenSL ES是一个嵌入式、跨平台、免费的、音频 处理库,本文旨在介绍OpenSL的使用方法和参数设置,绝大部分内容参考Android官方NDKdemo,地址为android NDK demo,想学NDK开发的伙伴可以去参考一下,...原创 2018-07-03 10:15:06 · 1696 阅读 · 0 评论 -
Android 万能音频播放器 三 ffmpeg + opensl 实现声音的播放
Android 万能音频播放器三 ffmpeg + OpenSL 实现声音的播放 前言 在上几篇的文章中已经讲到了如何用OpenSL播放PCM数据,本篇文章主要讲解如何使用FFmepg 解码和重采样出PCM数据,并使用OpenSL 进行播放, 主要知识点 采样率:每秒对音频数据采样的个数(44100) 采样位数:存储采样数据的位数(16bit 2字节) 输出声道:单声道,立体声等 重...原创 2018-07-09 15:31:25 · 1046 阅读 · 0 评论 -
Android 万能音频播放器 二 C++队列存放AvPacket
Android 万能音频播放器 二 C++队列存放AvPacket 前言 本文为Android万能因音音频播放器的第二篇,是上一篇文章Android 万能音频播放器 一 C++多线程解码音频数据 的延续,本文的实现功能是蒋解码出的AvPacket放到队列中,为什么放到队列中呢?生产者消费者模式嘛,还有就是容易控制播放状态,如果是在音视频播放的过程中,还可以方便做音视频同步,如果对NDK中消费...原创 2018-07-01 15:57:14 · 1029 阅读 · 0 评论 -
Android 万能音频播放器 一 C++多线程解码音频数据
Android 万能音频播放器一 C++多线程解码音频数据 前言 如果对Android NDK 下的C++ 多线程不了解的话可以看这篇文章Android NDK 多线程 本系列将用到Android NDK,C++,FFmpeg等相关知识,努力做好SDK的封装,方便以后在项目中可以复用。 本章实现 FFmpeg在C++子线程中解码音频数据,得到数据包AVPacket AVPacket:存放...原创 2018-06-30 15:56:09 · 1373 阅读 · 0 评论 -
Android音视频 原生api解码mp4并实现播放功能
原生api解码mp4并实现播放功能 基础知识 Android系统提供了三个类MediaExtractor,MediaFormat,MediaCodec来帮助用户实现音视频解码,接下来分别介绍一下各自的功能。 MediaExtractor -Extractor抽油烟机,负责将指定类型的媒体文件从文件中找到轨道,并填充到MediaCodec的缓冲区中 MediaFormat 封装描述媒体数...原创 2018-06-01 15:44:57 · 3534 阅读 · 2 评论 -
Android音视频 初始AudioTrack和PCM的录制与播放
初始AudioTrack和PCM的录制与播放 Audio系统 先看看Audio里边有哪些东西?通过Android的SDK文档,发现主要有三个: AudioManager:这个主要是用来管理Audio系统的 AudioTrack:这个主要是用来播放声音的 AudioRecord:这个主要是用来录音的 其中AudioManager的理解需要考虑整个系统上声音的策略问题,例如来电话铃声,短信...原创 2018-06-01 11:13:54 · 530 阅读 · 0 评论 -
Android音视频 原生方法生成PCM 以及PCM转为wav
PCM介绍 PCM(Pulse Code Modulation),脉冲编码调制。人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。原理是用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲(脉搏似的短暂起伏的电冲击),把这些脉冲的幅值按一定精度进行量化,这些量化后的数值被连续的输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生...原创 2018-05-31 16:47:12 · 3981 阅读 · 0 评论 -
Android ffmpeg 音频的解码和播放
Android ffmpeg 音视频的解码和播放 FFmpeg在音视频开发的地位不必多说,它已经是行业的一个品牌标杆。本篇文章探讨使用FFmpeg进行音频解码,然后反射调用android系统自带的AudioTrack和OpenSL ES两种播放方式。 首先谈下FFmpeg解码流程,步骤包括:注册组件、分配FormatContext、打开音频文件、获取输入文件信息、获取音频流索引位置、获取音频解...原创 2018-06-13 17:16:56 · 1539 阅读 · 0 评论 -
Android ffmpeg 音频解码并保存为PCM数据
PCM介绍 PCM(Pulse Code Modulation),脉冲编码调制。人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。原理是用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲(脉搏似的短暂起伏的电冲击),把这些脉冲的幅值按一定精度进行量化,这些量化后的数值被连续的输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生过...原创 2018-06-13 15:10:58 · 1009 阅读 · 0 评论