音视频开发
RikkaTheWorld
一个OTAKU
展开
-
Android音视频开发入门(6)Windows下编译FFmpeg4.2
1. FFmepg简介ffmepg是一个音视频的开发工具。一套可以用来记录、处理数字音频、视频,并将其转换为流的开源框架。采用 LPL、GPL许可制,提供了录制、转换以及流化音视频的完整解决方案。1.1 命令行工具概述下面是一些FFmepg使用时的基本命令,是最基础的内容,我们不用太熟悉FFmpeg里面的代码是如何写的,如我们只需调用:ffmpge -i input.avi -r 24 ...原创 2019-11-26 20:19:04 · 871 阅读 · 0 评论 -
Android音视频开发入门(5)使用LAME编码一个PCM文件
我们之后就以小Demo来学音视频的知识。因为音视频开发一定会使用JNI,即使用Java调用本地代码/本地代码调用Java。所以我们也要学会去建立一个 JNI项目。1. 使用Android Studio 3.4.2搭建一个JNI项目在Android Studio创建好一个支持C/C++的项目后,我们创建一个 Mp3Encoder 的类,使用它来调用本地方法:public class Mp3...原创 2019-11-20 15:18:16 · 528 阅读 · 0 评论 -
Android音视频开发入门(4)MediaPlayerService
MediaPlayerService是多媒体框架中一个非常重要的服务,从前面的内容我们可以知道在 MediaPlayer的C/S模式中MediaPlayerService和原创 2019-11-12 16:05:38 · 799 阅读 · 3 评论 -
Android音视频开发入门(3)C++中MediaPlayer的C/S架构
前面一层中,都是通过Java层调用到JNI层中,而JNI层向下到C++层并未介绍。本节首先分析Java层的一个函数在C++层MediaPlayer中的过程。(路径为:/frameworks/av/media/libmedia/mediaplayer.cpp)下面用 mp->setDataSource() 后,从C++层的setDataSource() 来看看C/S模式的过程status...原创 2019-11-08 16:43:21 · 921 阅读 · 0 评论 -
Android音视频开发入门(2)MediaPlayer 生命周期及create()分析
MediaPlayer是Android中的一个多媒体播放类,我们用它来控制音视频流或本地音视频资源的播放过程。这篇blog我们就来从MediaPlayer的生命周期、用法、工作流程、源码来分析。1. 状态图和及生命周期1.1 MediaPlayer状态图反正状态图,都会丢出下面这么一个图噶。其中蓝色的椭圆表示的是MediaPlayer的状态,弧线表示状态进行过渡。有两种类型的弧,单箭头...原创 2019-11-02 17:33:23 · 1362 阅读 · 0 评论 -
Android音视频开发入门(1)基础概要
音视频开发是时下非常热门的一个Android方向。之前买书的时候顺手买了一本《Android音视频开发》,所以总不能放着,有空的时候就学习一下里面的知识。顺便的下一个项目就是开发一个音视频相关的App应用。因为音视频的原理是比较低层的,它还会与 ndk 挂钩,所以也跟C挂钩,这导致我要重拾C/C++语言。视频编码视频编码的定义是:通过特定的压缩技术,将某个视频格式文件转换成另一种视频格式...原创 2019-10-28 17:07:37 · 1501 阅读 · 0 评论