自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

原创 Android原生编解码接口 MediaCodec 之——踩坑

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/gb702250823/article/details/81669684希望我们尊重每个人的成果,转载请标明出处: https://blog.csdn.net/gb702250823/article/details/81669684...

2019-09-30 11:45:00 915 1

原创 在Android中使用OpenGL ES开发第(四)节:相机预览

笔者之前写了三篇Android中使用OpenGL ES入门级的文章,从OpenGL ES的相关概念出发,分析了利用OpenGL ES实现3D绘图的重要的两个步骤:定义形状和绘制形状,简单的绘制了一个三角形。这里再简单回顾下:Android中使用OpenGL一共会涉及到四个类:1)Activity——自不用说,Android界面展示的类;2)GLSurfaceView——SurfaceVie...

2019-06-20 14:34:00 180

原创 在Android中使用OpenGL ES开发第(五)节:GLSL基础语法

一、前期基础储备笔者之前的四篇文综述了Android中使用OpenGL ES绘制基本图形和实现了简单的相机预览,初次接触OpenGL ES开发的读者可能对其中新的概念比较迷惑,尤其是其中的顶点着色器(Vertex Shader)和片元着色器(Fragment Shader),我们知道,在OpenGL中顶点着色器是针对每个顶点执行一次,用于确定顶点的位置。片元着色器是针对每个片元,片元可以理解为...

2019-06-20 14:31:00 274

原创 在Android中使用OpenGL ES进行开发第(三)节:绘制图形

一、前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点:①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分②使用OpenGLES绘制2D/3D图形的第一步:定义图形;——运用部分③使用OpenGLES绘制出②步骤中定义好的图形:——运用部分,难点所在通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面利...

2019-06-20 14:30:00 160

原创 在Android中使用OpenGL ES进行开发第(二)节:定义图形

一、前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点:①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分②使用OpenGLES绘制2D/3D图形的第一步:定义图形;——运用部分③使用OpenGL ES绘制出②步骤中定义好的图形:——运用部分,难点所在通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面...

2019-06-20 14:22:00 91

原创 在Android中使用OpenGL ES进行开发第(一)节:概念先行

一、前期基础是知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点:①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分②使用OpenGL ES绘制2D/3D图形的第一步:定义图形;——运用部分③使用OpenGL ES绘制出②步骤中定义好的图形:——运用部分,难点所在通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,...

2019-06-20 10:37:00 103

原创 Git常用命令

Git常用命令 一. 基本命令git init 初始化一个Git仓库git status 查看当前仓库状态git log <具体id值/-1/–p> (-p具体修改了什么内容) 查看日志,以便确定要回退到哪个版本git reflog 查看命令历史,以便确定回到未来的哪个版本...

2019-03-29 09:50:00 64

原创 自定义圆形的ProgressBar

自定义圆形的ProgressBar1.自定义圆形的ProgressBar  效果图:  圆形ProgressBar的样式主要有以下几个,我们这里以progressBarStyleLarge为例进行样式的修改,其他的类似。<ProgressBar  android:layout_width="wrap_content"   android:layout_h...

2019-03-20 10:36:00 629

原创 java 网络通信传输层协议——UDP和TCP

java 网络通信传输层协议——UDP和TCP 本文原文由作者“zskingking”发表于:jianshu.com/p/271b1c57bb0b,本次收录有改动。 1、点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯网专注的即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到...

2019-02-19 11:25:00 170

原创 移动端实时音视频直播技术详解(一):开篇

移动端实时音视频直播技术详解(一):开篇1、引言随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革。手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域的关注,吸引了很多互联网创业者或者成熟企业进入该领域。本文由七牛云技术团队原创分享,结合实时流网络 LiveNet 和直播云解决方案的实践,将用七篇文章,更系统化地介绍当下大热的视频直播各环节...

2019-01-24 09:32:00 1766

原创 NDK开发入门终极教程

NDK开发入门终极教程 0 前言同NDK技术的渊源始于3年前,使用so文件的时候了解到NDK技术,并且C语言一直是强项,就鼓捣起NDK开发。在AndroidStduio还没推广的年代,基于eclipse搭建NDK开发环境需要安全依赖开发工具,并且调试起来具备难度。随后AndroidStudio也先后支持nkd-build和cmake使...

2019-01-18 09:41:00 169

原创 android 缩放平移自定义View 显示图片

android 缩放平移自定义View 显示图片1、背景现在app中,图片预览功能肯定是少不了的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位~~~我相信看图的整个步骤,大家或者说用户应该不希望被打断把~~~“我擦,竟然不能放大,什么玩意,卸了~~“ , "我擦,竟然不能移动,留有何用,卸了~~"。哈~所以对于图片的预览,...

2017-12-01 11:51:00 309

原创 android 工具库

android 工具库https://github.com/xybCoder/AndroidCommon android工具类集合posted @ 2017-10-20 09:05 laughingQing 阅读(...) 评论(...) 编辑 收藏

2017-10-20 09:05:00 80

原创 WebView 讲义

WebView 讲义http://reezy.me/p/20170515/android-webview/ (比较全面)参考https://developer.android.com/reference/android/webkit/package-summary.htmlFullscreen API 全屏显示网页http://calefy.org/2012/06/0...

2017-10-18 09:34:00 93

原创 java编程之:按位与运算,等运算规则

java编程之:按位与运算,等运算规则 按位与运算符(&amp;)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&amp;0=0; 0&amp;1=0; 1&amp;0=0; 1&amp;1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&amp;5 即 0000 0011 &amp...

2017-10-11 14:19:00 141

原创 深入理解OkHttp源码(三)——网络操作

深入理解OkHttp源码(三)——网络操作这篇博客侧重于了解OkHttp的网络部分,包括Socket的创建、连接,连接池等要点。OkHttp对Socket的流操作使用了Okio进行了封装,本篇博客不做介绍,想了解的朋友可以参考拆轮子系列:拆Okio。OkHttp中关于网络的几个概念下面的主要翻译自OkHttp的官方文档,查看原文.URLURLs(比如https://github...

2017-08-20 15:19:00 126

原创 深入理解OkHttp源码(二)——获取响应

深入理解OkHttp源码(二)——获取响应首先先看一张流程图,该图是从拆轮子系列:拆 OkHttp 中盗来的,如下:在上一篇博客深入理解OkHttp源码(一)——提交请求中介绍到了getResponseWithInterceptorChain()方法,本篇主要从这儿继续往下讲解。getResponseWithInterceptorChain方法private Response ge...

2017-08-09 02:10:00 120

原创 深入理解OkHttp源码(一)——提交请求

深入理解OkHttp源码(一)——提交请求本篇文章主要介绍OkHttp执行同步和异步请求的大体流程。主要流程如下图:主要分析到getResponseWidthInterceptorChain方法,该方法为具体的根据请求获取响应部分,留着后面的博客再介绍。Dispatcher类Dispatcher类负责异步任务的请求策略。首先看它的部分定义:public final class ...

2017-08-06 23:37:00 74

原创 synchronized与static synchronized 的区别

synchronized与static synchronized 的区别1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchronized恰好就是...

2017-06-09 10:53:00 66

原创 Java高阶回调,回调函数的另一种玩法

Java高阶回调,回调函数的另一种玩法工具类package com.sctek;import java.lang.reflect.Field;import android.os.CountDownTimer;import android.util.Log;/** * 自定义倒计时类 * 当时间剩下2分钟时,开始红白交替闪动,当时间只剩下1分钟时加快闪动频率 * * @...

2017-04-12 15:18:00 82

原创 关于git 指令

关于git 指令 命令行操作(由于是Linux命令行下的普通用户,都是在$级别下操作):一. 本机配置添加用户git config –global user.name “XX”git config –gloaba user.email “[email protected]”查看git配置及用户信息git config –list生成SSH秘钥(...

2017-03-27 17:15:00 61

原创 Retrofit2 完全解析 探索与okhttp之间的关系

Retrofit2 完全解析 探索与okhttp之间的关系转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/51304204;本文出自:【张鸿洋的博客】之前写了个okhttputils的工具类,然后有很多同学询问这个工具类和retrofit什么区别,于是上了下官网,发现其底层对网络的访问默认也是基于okhttp,...

2017-02-14 12:24:00 64

原创 HTTP中GET与POST的区别

HTTP中GET与POST的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该...

2017-02-13 18:17:00 69

原创 TCP,IP,HTTP,SOCKET区别和联系

TCP,IP,HTTP,SOCKET区别和联系 网络由下往上分为:对应物理层--数据链路层--网络层-- IP协议传输层-- TCP协议会话层--表示层和应用层--...

2017-02-13 17:59:00 50

原创 android WebView详解,常见漏洞详解和安全源码

android WebView详解,常见漏洞详解和安全源码   这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析。  转载请注明出处:http://blog.csdn.net/self_study/article/details/54928371。  对技术感兴...

2017-02-13 09:10:00 252

原创 android 实现类似qq未读消息点击循环显示

android 实现类似qq未读消息点击循环显示public void jumpUnread(boolean cycle) { List<ContactLogModel> dataList = adapter.getContactLogModelList();int dataSize = dataList.size();int position = 0;if (c...

2016-12-20 20:26:00 300

原创 Visual studio 通用开发环境配置:SDL,FFMPEG为例

Visual studio 通用开发环境配置:SDL,FFMPEG为例 引言每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤:下载库文件,这里假定是已经预先编译完成的。配置库文件的包含目录(include)和库目录(lib)配置库文件的动态...

2016-09-23 21:34:00 169

原创 FFmpeg学习5:多线程播放视音频

FFmpeg学习5:多线程播放视音频在前面的学习中,视频和音频的播放是分开进行的。这主要是为了学习的方便,经过一段时间的学习,对FFmpeg的也有了一定的了解,本文就介绍了如何使用多线程同时播放音频和视频(未实现同步),并对前面的学习的代码进行了重构,便于后面的扩展。本文主要有以下几个方面的内容:多线程播放视音频的整体流程 多线程队列 音频播放 视频播放 总结以及后...

2016-09-23 21:33:00 136

原创 FFmpeg学习6:视音频同步

FFmpeg学习6:视音频同步在上一篇文章中,视频和音频是各自独立播放的,并不同步。本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的。主要有以下几个方面的内容视音频同步的简单介绍 DTS 和 PTS 计算视频中Frame的显示时间 获取Audio clock(audio的播放时长) 将视频同步到音频上,实现视音频同步播放视音频同步简...

2016-09-23 21:33:00 73

原创 FFmpeg学习4:音频格式转换

FFmpeg学习4:音频格式转换前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式的,所以通过FFmpeg解码出来的数据不能直接发送到SDL进行播放,需要进行一个格式转换。通过网上一些资料,也能够正确的播放音频了,但是对具体的音频转换...

2016-09-23 21:28:00 134

原创 FFmpeg数据结构:AVPacket解析

FFmpeg数据结构:AVPacket解析本文主要从以下几个方面对AVPacket做解析:AVPacket在FFmpeg中的作用 字段说明 AVPacket中的内存管理 AVPacket相关函数的说明 结合AVPacket队列说明下AVPacket在传递过程中数据缓存的管理查了一些资料,发现FFmpeg的版本更新还是挺快,而且有很多API也有改动,本文使用的FFmpe...

2016-09-23 21:24:00 124

原创 FFmpeg学习3:播放音频

FFmpeg学习3:播放音频 参考dranger tutorial,本文将介绍如何使用FFmpeg解码音频数据,并使用SDL将解码后的数据输出。本文主要包含以下几方面的内容:关于播放音频的需要的一些基础知识介绍使用SDL2播放音频数据队列音频格式的转换dranger tutorial...

2016-09-23 21:16:00 93

原创 FFmpeg学习2:解码数据结构及函数总结

FFmpeg学习2:解码数据结构及函数总结在上一篇文章中,对FFmpeg的视频解码过程做了一个总结。由于才接触FFmpeg,还是挺陌生的,这里就解码过程再做一个总结。本文的总结分为以下两个部分:数据读取,主要关注在解码过程中所用到的FFmpeg中的结构体。 解码过程中所调用的函数在学习的过程主要参考的是dranger tutorial,所以跟着教程在本文的最后使用SDL2.0将...

2016-09-23 21:10:00 86

原创 FFmpeg学习1:视频解码

FFmpeg学习1:视频解码在视频解码前,先了解以下几个基本的概念:编解码器(CODEC):能够进行视频和音频压缩(CO)与解压缩(DEC),是视频编解码的核心部分。 容器/多媒体文件(Container/File):没有了解视频的编解码之前,总是错误的认为平常下载的电影的文件的后缀(avi,mkv,rmvb等)就是视频的编码方式。事实上,刚才提到的几种文件的后缀 并不是视频的编码方式...

2016-09-23 21:04:00 62

原创 ubuntu 编译源码坏境配置

ubuntu 编译源码坏境配置git checkout -b newlocal origin/q01v31source build/envsetup.shlunch msm8916_32-usermake -j4make -j4 2>&1 | tee build.txtandroid编译命令的话,把/usr/lib/jvm/java-7-openjdk-amd64/...

2016-09-23 19:42:00 148

原创 android音视频点/直播模块开发

android音视频点/直播模块开发音视频版权声明:本文为博主原创文章,未经博主允许不得转载。前言随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能,那么作为开发一个小白,如何快速学习音视频基础知识,了解音视频编解码的传输协议,编解码方式,以及如何技术选型,如何解决遇到的坑,本文抛砖引玉,欢迎大咖交流。一. 音视频的基...

2016-09-19 11:49:00 139

原创 GC overhead limit exceeded填坑心得

GC overhead limit exceeded填坑心得我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性能也不好,gc时间消耗的较多。解决这种问题两种方法是,增加参数,-XX:-UseGCOverheadLimit,关闭这个特性,同时增加h...

2016-09-09 16:10:00 766

原创 android sdk 更新那些文件

android sdk 更新那些文件 上篇经验,完成了android开发环境的搭建,相信大家也下载了那1.52G,已经下载好了的Adt_bundle。那么,我们来点击SDK Manager.exe,看看有些什么吧2如图所示,为整个目录结构,我们一点一点来分析3...

2016-09-09 15:50:00 114

原创 Android Gradle 完整指南

Android Gradle 完整指南 为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成倍提高。除此之外,相对其他编译...

2016-09-09 10:58:00 77

原创 Android Studio教程从入门到精通

Android Studio教程从入门到精通最新2.0系列文章参考:Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android Studio2.0 教程从入门到精通Windows版 - 提高篇Android Studio2.0 教程从入门到精通MAC版 - 安装篇Andr...

2016-09-07 10:24:00 457

空空如也

空空如也

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

TA关注的人

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