自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JabamiYu的博客

研究总结与进步

  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android端PCM编码AAC的软编和硬编

第六章的内容有点多,现在学习一下音视频的软编和硬编。使用libfdk_aac进行编码书上的源码是采用ffmpeg的api进行编码的,当然你也可单独编译libfdk_aac来进行编码。首先我们还是需要配置采样率,声道,码率等参数进行初始化。 接着我们探测输出文件,让ffmpeg自动根据文件名探测格式。 int ret; av_register_all(); avFor...

2018-06-24 00:59:37 3280

原创 Android从源码分析ScrollView自动滑动的焦点问题以及解决方案

大家做项目开放应该都碰到过类似于这种界面 这时候我们做Fragment切换的时候,如果Fragment带有像ListView和RecyclerView之类的列表,在切换的时候ScrollView会自动滑动到列表的顶部。虽然做手机app开发的时候,焦点处理比较少,但是我们可以从源码来分析一下焦点是如何传递的。源码分析我们两个Fragment切换的时候,最终其实还是一个View隐藏,一个...

2018-06-22 12:58:16 4545

原创 使用Android Studio3.1.2断点调试Android 6.0源码(无需编译)

调试源码有时候很有用,毕竟原来里的各种标志位,变量多的一匹,当时看明白了过不了多久就忘了,又重新看很是难受。要是和普通应用一样断点调试就方便很多了。基于新版Android Studio来进行源码断点调试配置,使用Windows环境。源码下载完成之后,15分钟之内就能搞定。准备工作因为要下载源码,直接放个地址https://pan.baidu.com/s/1eJFYRoQYBkUaP5hb8...

2018-06-20 17:13:44 3668 4

原创 Android采集并使用OpenGL ES预览摄像头画面

Android的Camera现在有新的api,但是要5.0之后才能用,书上的源码也是用老版本api,简单分析一下预览流程。为了篇幅部分中间的调用流程将会省略,只贴出核心代码。EGL环境初始化首先我们肯定是要初始化egl,Native层使用hanlder的形式来循环处理消息。void MVRecordingPreviewController::prepareEGLContext(ANat...

2018-06-18 22:03:57 2618

原创 Android使用AudioRecord录制pcm裸数据

第六章讲音视频的采集,首先是音频采集。Android录音可以采用MediaRecorder,这个API是比较上层的,直接可以输出通常的音频格式文件,但是相对的就失去了一些灵活性。AudioRecord可以直接录制PCM裸数据,当然也可以用OpenSL ES来进行录制,然而API过于繁琐,对于音频来说,audioRecord其实已经满足大部分需求了。话不多说,直接分析代码,书上的源码我用kotlin...

2018-06-17 22:54:40 3666 3

原创 kotlin 中::class 、class.java、javaClass、javaClass.kotlin区别

这几个有点混,小结一下吧。Kotlin的类class Person { var name: String = "" var age: Int = 0 companion object { }}java类public class Man {}要知道获取的到底是什么,可以利用andorid stuido的类型提示,一目了然。第...

2018-06-17 12:58:06 13893 4

原创 Android使用ffmpeg+opengl+opensles实现播放器

终于到了第5章,前面已经学了音频和视频的渲染知识,这一章讲的是视频播放器的实现,记录一下看源码的一些要点。初始化1、同步模块整体初始化初始化一些参数,minBufferedDuration为0.5f,maxBufferedDuration为1.0f。在调用initMeta()之后变成0.5和0.8,最大的音视频偏差设置为了0.05。bool AVSynchronizer::in...

2018-06-10 17:18:27 2705 2

原创 Android OpenGL ES 帧缓冲FBO

平时我们都是渲染到的默认的屏幕缓冲,通过swapbuffer来渲染到屏幕上,相对的我们可以同样创建一个离屏的帧缓冲来渲染到纹理。创建一个fbo glGenFramebuffers(1,&frame); glBindFramebuffer(GL_FRAMEBUFFER,frame);fbo需要我们为他准备一个至少一个缓冲(颜色、深度或模板缓冲),我们通常使用的是...

2018-06-04 14:11:11 2469

原创 Android使用OpenGL ES 3.0实现随手指旋转3D立方体

OpenGL ES在做普通应用方面3D使用的不多,但有时候实现一些有趣的功能也是蛮不错的。画立方体的的demo网上已经很多了,这次我们就实现一个随手指旋转的立方体,这个demo基本可以了解各个坐标系转换矩阵的使用了。 先看一下最终效果:...

2018-06-02 17:47:49 6694 15

Android端AudioTrack以及OpenSL ES结合ffmpeg播放mp3文件

使用Android端AudioTrack以及OpenSL ES结合ffmpeg播放mp3文件

2018-05-17

Android使用lame编码MP3

使用lame库将pcm编码成mp3文件,使用Android Studio 新版,Cmake管理。

2018-01-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除