自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Vincent Luo 的专栏

关于技术

  • 博客(50)
  • 资源 (10)
  • 收藏
  • 关注

原创 关于编译VLC-Android最新代码的正确姿势

可能大家看到这个帖子的时候已经经历了无数次的编译错误,那肯定是你编译的姿势不对,下面就是正确的姿势:1.编译环境必须用比较新的Ubuntu系统(其他linux平台也应该是需要比较新的),我采用的是ubuntu16.04 俗称麒麟 destop版(此版本的gettext版本是19.7这个比较重要,太低了会编译出错)2.严格按照https://wiki.videolan.org/Android

2017-01-10 09:06:15 742 2

原创 Bogus,bad length value xxx > IP Payload length

如果用Wireshark抓包看到有这种包,那么这个包肯定会被丢掉,表现在你的程序里面就是Server发包了,但是client没有收到,抓包看又有这个包问题产生原因,包标记的 长度大于实际传输过来的数据长度,这种问题产生的原因大部分是硬件问题,比如HUB或者Switch在包比较多的时候产生掉包,建议换个HUB或者SWITCH试试或许问题就没有了。

2016-09-20 08:21:49 7330 2

原创 Android如何不用setCustomView而实现ActionBar的自定义修改

做有ActionBar的项目时,比较懒,不想采用自定义的方式去自己写layout文件,然后分析源码,发现有些东西并不需要采用Custom的方式也能实现定制化。比如返回按钮的图标,ActionBar的背景,以及多个页面都需要修改,如果不用在每个页面都做代码修改。方法如下: @drawable/title_bg -20dp

2015-10-26 17:30:02 2361

原创 文章标题

Android button内容越界滚动的实现只所以要写这么一篇基础性比较强的文章是因为之前一直以为这种功能设置下属性就可以实现了,其实不然! 当你使用各种属性都没办法达到预期效果时,请参考我下面的代码:public class ScrollForeverButton extends Button { public ScrollForeverButton(Context context) {

2015-07-14 13:26:04 841

原创 如何从H264原始数据SPS里面得到视频的长宽

有这样一种需求,给你一个h264原始数据文件,让你直接播放出来,如何实现?思路是这样的,H264原始数据格式都是 0x00000001后面跟0x67 0x68 0x65 0x41这样的数据,解码需要一个完整的NAL数据单元,我们需要将每个0x00000001以及下一个0x00000001之前的数据读出来,交给解码器解码。读文件我就不啰嗦了,本文主要讲解如何从SPS获取视频长宽,SPS即0x

2015-06-16 14:34:55 5553 4

原创 一个特殊需求的环形Buffer设计

最近有一个特别坑人的需求,厂家平板提供了一个回声消除接口,但每次只能读固定大小的字节数,但我们的编码器每次读取的自己数和这个大小不一样,于是就萌生了一种做一个buffer来临时存储声音数据,然后编码器再去读取,这样不管厂家每次读多少个自己,codec这边也可以控制读取的字节数了。首先映入眼帘的肯定首选环形buffer我先定义一个writeIndex 一个 readIndex,和一个当前bu

2015-04-10 11:07:29 1398 1

原创 Android各种机型,各种系统版本,如何获取外置SDCard路径

由于项目需要,在有外置sdcard的情况下,可能不希望直接将应用内数据存入内置sdcard,我于是专门写了一个函数来获取sdcard路径如果有外置sdcard就获取外置sdcard,如果没有就用系统默认的"外置sdcard"(深入研究可能知道,这个外置sdcard实际是从内置sdcard里面分出来的一个分区而已)下面直接上代码:public static String getSDCar

2015-01-15 10:49:20 1561

原创 Android如何实现对系统自带对话框标题栏进行修改

先上一张图可以看到,对话框的标题颜色是蓝色的,下面还有一根线也是蓝色的,在某些情况下,我们想改变程序的主题风格,颜色必须做修改,但又懒得去定制Dialog,下面的方法就诞生了: public static final void dialogTitleLineColor(Dialog dialog, int color) { Context context = dialog.ge

2014-11-27 15:09:09 4457

原创 Android保持屏幕常亮的三种方法

好长时间没写Blog了,最近又要实现类似功能,每次都百度去找不是很方便,还是在自己的blog上记录一笔吧!方法共有三种:1.申请亮屏锁 pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);//得到电源管理器对象wl = pm.newWakeLock(PowerManager.ACQUIRE_CAU

2014-11-21 16:11:06 5183

原创 Android 之UI自适应解决方案

1.概况       作为Android开发人员,最头疼的莫过于让自己开发的程序在不同终端上面的显示效果看起来尽量一致(当然,如果要充分利用大屏幕的优势另当别论)。在全球范围内来讲,android有着数以亿计的设备,其中就不乏设备分辨率多种多样,以及设备屏幕物理尺寸的多样化。         总得来说我们需要做的有三点,其一让APP的每个UI中的每个View宽和高更加灵活以适应不同分辨率、

2014-05-30 17:29:44 6118 1

原创 2014年四月份最新Linphone-android代码下载

下载过linphone代码的都知道,必须使用git从linphone代码仓库clone代码,最近通过git下载最新的linphone-android代码时发现每次下载到一半就中断,然后不得不重新去git clone,但每次都会在中途断开,也就是通过此办法无法下载带最新的linphone-android完整代码了。经过本人摸索,现将以下办法共享给大家:首先通过git clone git://

2014-04-15 09:59:27 2966 1

原创 关于Android Menu横纵向显示的问题(经过验证)

android:targetSdkVersion="8"   横向android:targetSdkVersion="15"   纵向其他的可以自己试试,基本应该是跟android:targetSdkVersion的设置相关跟sdk的版本没有半毛钱的关系。

2013-11-20 09:29:57 2236

转载 Android应用程序耗电那点事

今天无意间找到一篇关于Android程序耗电的文章,感觉写得十分深刻故转载作为记录http://www.cnblogs.com/alario/archive/2012/03/27/2419441.html后台应用不应做Android待机电池杀手Android是一个相当开放的平台,允许我们开发常驻后台运行的应用程序,依靠TCP长连接接受服务器的消息推送,但也因

2013-09-23 09:33:38 2222

原创 Android媒体扫描详细解析之二(MediaScanner & MediaProvider)

上篇blog说到了经过对文件夹进行扫描如果后缀符合系统设定的一些格式,那么就会进行文件内容扫描下面我们紧接着STEP 14中的status_t StagefrightMediaScanner::processFile(        const char *path, const char *mimeType,        MediaScannerClient &client) {

2013-08-15 16:05:39 4094

原创 Android媒体扫描详细解析之一(MediaScanner & MediaProvider)

用过Android手机的同学都知道,每次开机的时候系统会先扫描sdcard,sdcard重新插拔(挂载)也会扫描一次sdcard。为什么要扫描sdcard,其实是为了给系统的其他应用提供便利,比如,Gallary、Music、VideoPlayer等应用,进入Gallary后会显示sdcard中的所有图片,如果进入Gallary后再去扫描,可想而知,你会厌恶这个应用,因为我们会觉得它反应太

2013-08-15 12:07:57 12515 2

原创 Application.mk中APP_ABI 的含义

我们在编写JNI代码时有一个可选的文件Application.mk ,这个文件你可以不创建,但是有时候是有必要写一个这样的文件的。Application.mk文件用于描述应用程序本身的一些属性信息,如应用程序依赖哪些库,应用程序的根目录,应用程序运行在哪些类型指令集的CPU下,还有一些编译选项,在此文件中定义的东西会应用于整个应用程序包括android.mk也会用到这里面的选项。

2013-06-26 15:32:30 11133

原创 Android(2.3+)源码分析MediaPlayer之RTSP

在前面的博客中有简单介绍MediaPlayer,最近又开始研究这块东西,在此把阅读代码的理解记录下来方便以后快速查阅。播放普通文件传入的url是一个本地的绝对路径,但是流媒体的话传入的就是一个网络地址如以"http://“开头的流媒体和以"rtsp://"开头的流媒体协议。下面从源码中的Awesomeplayer.cpp finishSetDataSource_l函数入手(也相当与medi

2013-05-16 17:34:02 5553 6

原创 swf 格式Flash 动画播放器在Android上的实现

首先明确一点,swf格式和其他的一些视频格式有很大的区别。它里面不仅有音频还有其他的各种元素(术语叫块类型)包括但不仅限于:矢量图、图片、文字、字体、片段动画、按钮、帧、动作、音频等等你需要将这些元素一一解析并渲染出来。这种格式是允许用户来互动的,你像大多数flash游戏,用户可以点击按钮产生不同的动画效果。这就说明swf格式里面还有代码来控制这些行为。下面来谈实现

2013-05-02 09:32:10 5756 5

原创 android 程序中如何导入第三方jar包(包括android系统程序)

1.android 普通应用程序开发者我们之前在网上看到最多的是在Java Build Path里面Add jars ,Add External Jars或者Add Library,其实这些只是能确保编译没问题只有自己试过才知道,你运行的时候链接是找不到对应的第三方jar包的。举例 比如你要导入org.apache.commons.net(各种协议栈的实现)的jar包到你的程序中首

2013-04-10 09:38:43 2585

转载 各种开源协议的详细介绍

GPL在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。 GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的

2013-04-02 10:36:12 1350

原创 网络操作不加超时引发的无限悲剧

可以说我是一个网络方面的菜鸟!现在做的项目网络部分是别个写的(已经离职)今天突然发现个问题,我在他代码的catch里面加入了一些提示信息(android 平台,弹个toast之类的)发现肯定会走到异常的代码死都走不到异常里面去。我就郁闷了,在代码里面打印了各种log    11111111       2222222222          333333333 苦逼懒得写那么清楚了

2013-03-22 15:34:34 1379

转载 YUV格式详细解析

文详解YUV420数据格式YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是

2013-03-08 17:38:01 1632

原创 android 如何做到完全退出应用程序

当我在网上找“android 如何完全退出应用程序时”十有八九都是android.os.Process.killProcess(android.os.Process.myPid());又或者是System.exit(0);但这些未必对每一个应用程序都有效果。当你的应用程序中有很多Activity ,有很多Service,有很多线程,你就不要指望能通过以上方法来完全关闭你的进

2013-01-29 15:49:46 1770

原创 android 布局如何支持多种不同屏幕尺寸

支持多种屏幕android运行在不同尺寸和像素(密度)的设备上,android系统给应用程序提供了一个相同的环境去适应不同的UI显示界面。同时系统提供API让应用程序去控制UI在不同尺寸和密度的屏幕上的显示效果,因为我们肯定不希望在手机和平板上显示一样的效果。尽管android系统会自动缩放你的应用程序以适应不同分辨率,但是你也必须针对不同尺寸和密度的屏幕尽量优化,只有这样才能

2013-01-28 10:12:11 6673 1

原创 山寨机攻略

如今的手机市场鱼龙混杂 主要分为以下几种类别:1.行货2.私货(从港台,国外等地区没经过海关进来)3.私货(翻新机)4.山寨机(有的无良商家也称之为私货以混淆视听) 如果是买到前面二者还好,倘若买到翻新机或者山寨机那就亏大发了。翻新机不要识别,只能说拆开了看里面的硬件,至于表面上的东西基本看不出来。下面具体说下如何鉴别山寨机!!!首先拿到手机后系统都是可以仿

2013-01-04 09:52:08 1383

原创 有关H264视频卡的情况如何解决

1.首先确定采用的何种RTP荷载格式有三种:单NAL 单元包聚合包分片单元丢此不太清楚的可以看http://blog.csdn.net/luowenlong860502/article/details/7788617说白了就是一个RTP包里面携带了几个NALU(一个/N个/1/N个)一个NAL单元实际并不一定是一帧完整的数据,有时候(比如关键帧)可能一帧数据由二三十个N

2012-12-20 14:39:40 5283

原创 如果在NDK编译的时候遇到No rule to make target needed by *.o 请抽空看看这篇文章

由于平时写代码不小心,多半都是copy paste ,导致了一些自己不容易看出来的问题。比如我之前有写soundTouch的JNI 在这个里面我有将两个lib 一个动态的一个静态的都放到 了一个Android.mk中进行编译,但是发现莫名奇妙的报了个“No rule to make target”的错误,我找了大概有大半个小时才找到原因,就是我在一个Android.mk中声明了两个

2012-12-02 17:36:13 3955 1

转载 关于Android权限那些事(应用程序获取root权限,system权限)

最近被权限给纠结了,下面这篇文章写得很好,和大家分享了:转自:http://my.unix-center.net/~Simon_fu/?p=531最近在移植Android过程中遇到了Android程序(apk)权限的问题。最近也对这方面进行了一些了解,在此和大家分享。      Android框架是基于Linux内核构建,所以Android安全系统也是基于Linux的安全架

2012-11-23 13:11:14 3504

原创 移植soundtouch到android 通过JNI来调用(二)

上一篇博客中写到了如何编译和安装soundtouch当安装soundtouch到你的ubuntu中后你可以通过运行soundstretch来体验一下soundtouch的用法,当然如果你运行soundstretch提示找不到lib的话你需要将/usr/local/lib 下面与soundtouch相关的lib放到/usr/lib下面至于soundstretch的用法,可以通过自

2012-11-19 21:25:22 5722 8

原创 移植soundtouch 到android 通过JNI来调用(一)

最近准备开发一款可以变声的录音机,于是在网上找了一下这方面的开源代码,发现soundtouch是一个不错的选择。首先是在官网下载源代码http://www.surina.net/soundtouch/sourcecode.html如果是在windows 下用的话可以直接下载相应的库来调用,linux的库暂时没有,只能自己来编了。接下来就是编译源码了。(我使用的是Ubun

2012-11-05 22:13:28 4695

原创 nativa java里面定义了函数,在JNI里面也实现了,函数名参数什么的都没有错,调用native函数是怎么就出现链接失败的情况呢???

如果你出现了标题中所提到的问题,请先不要急着ndk-build clean 或者是在eclipse 下面project->clean  ,先检查一下你函数的命名方式,告诉大家,千万不要在函数中包含"_" ,不然会死链接到函数的,特别是用c写的代码,而且没有映射java ->native函数的情况下,切记!切记!我可是郁闷了好几个小时才发现的。

2012-09-20 19:14:03 1617

原创 如何解决放到android /system/app 下的应用程序无限重启弹出“异常终止”的问题

出现了标题中提到的情况肯定是你做了如下操作:      1. 你获取了手机的root权限       2.你用文件管理器将你自己的apk 拷贝到了/system/app下,想让他成为系统APK       3.你这个应用程序是开机自启动的(这样就会更麻烦,开机就挂,而且你点强制关闭后会重启,也就是说你无法进行其他任何操作了)       4.请解压你的APK看看是否有lib 存在,

2012-09-01 12:43:03 5270 1

转载 android 源码下如何将修改编入image 以及其他遇到问提总结

1.          编译报错,找不到R相关资源在源码目录下新建一个应用,或者复制其它应用时,常出现这个错误。1)         什么是R.javaR.java中编译时自动生成的,工程用到所有的资源,都会用到R.java2)         何时生成在源码根目录下make全部代码时,才会对每个模块生成R.java对资源更改后也会重新成生R.java3)

2012-09-01 11:18:25 1265

原创 关于 could not read symbols: File in wrong format 问题的解决方案

最近有个项目需要用到第三方的lib,而在它们的官网上面下载了linux版本的so于是根据它们提供的文档来调用so里面的函数,用ndk将so编译到我自己的jni lib中去。但是编译是过了,链接时出问题了:could not read symbols: File in wrong formatcollect2: ld returned 1 exit status后来找了下

2012-08-16 17:01:46 24636 1

原创 你们真的能屏蔽Home键而不对程序产生影响吗?

最近做到一个项目,是和视频通话相关的。要求视频通话的过程中是不允许退出到后台的。所以我们的做法是全屏+屏蔽Home,当然返回键肯定是挂断电话了。但目前屏蔽Home键的方法无非就是钻了Android的一些漏子,把window type 设置成TYPE_KEYGUARD,TPYE_KEYGUARD_DIALOG或者是TYPE_SYSTEM_ALERT。这样确实framewok层在判断如过win

2012-08-08 16:42:37 1917 5

转载 关于VOIP电话中的SIP信令返回码的详细解释

1 临时应答1xx临时应答,也就是消息性质的应答,标志了对方服务器正在处理请求,并且还没有决定最后的应答。如果服务器处理请求需要花200ms以上才能产生终结应答的时候,它应当发送一个1xx应答。注意1xx应答并不是可靠传输的。他们不会导致客户端传送一个ACK应答。临时性质的(1xx)应答可以包含消息体,包含会话描述。1.1 100 Trying 这个应答表示下一个节点的服务器已

2012-08-06 20:01:46 5161

原创 H264之SPS PPS

SPS               序列参数集PPS                    图像参数集 H264的参数主要是在SPS和PPS中获得,这里面包含了如图像大小,采用的可选的编码模式,宏块到片断组映射等信息需要特别指出的是,参照表二中NRI 值为 7 和 8的NALU 分别为序列参数集(sps)和图像参数集(pps)。参数集是一组很少改变的,为大量VCL

2012-07-26 12:59:58 2370

原创 H264在网络传输中的打包方式

主要的打包方式有三种:(1) 单NAL单元方式本方式应用在OPTIONAL打包方式(packetization-mode)MIME参数值等于0,不包含打包方式,或者没有外部手段指示其他的打包方式的时候。所有的接收者必须支持本方式。它主要用于低延迟应用(和使用ITU-TH.241建议兼容的系统)。(详细内容见RFC398412.1节).只有单个NAL单元包可以用在这种方式。STAPs,

2012-07-26 12:57:03 3771

原创 H264与RTP

有关流媒体的项目中H264数据都是作为RTP的荷载来进行传输的。但是作为RTP荷载可能存在这样的问题,比如一个NALU的大小超过了MTU必须做拆分后才能传输,还有就是一个NALU太小如果单独作为一个包发出去的话可能比较“浪费”。这样就产生了如下几种荷载格式:(1) 单个NAL单元包: 荷载中只包含一个NAL单元。NAL头类型域等于原始NAL单元类型,即在范围1到23之间(参照表二)。

2012-07-26 12:55:31 2140

原创 H264之简介

H264是一种视频编码格式,并且可以作为网络视频编解码格式,因为它具备以下特点:它的基本流采用分层结构->包括视频编码层(VCL)和网络适配层(NAL)视频编码层负责高效的视频内容表示,而网络适配层负责以网络所要求的恰当的方式对数据进行打包和传送。引入NAL并使之与VCL分离带来的好处包括两方面:其一、使信号处理和网络传输分离,VCL和NAL 可以在不同的处理平台上实现;其

2012-07-26 12:53:25 1112

Android多媒体技术

从文字,图片,声音,视频,流媒体等角度分析Android多媒体技术

2016-08-10

Android程序性能优化

从内存和CPU两个角度去优化应用程序和分析内存泄漏原因

2016-08-10

Android 移植ffmpeg解码h264文件并播放渲染

1.移植ffmpeg到android 2.通过JNI接口调用ffmpeg实现h264的解码以及渲染 3.h264渲染采用opengles技术 代码保护局ffmpeg源码 JNI部分 以及opengles渲染部分,还有上层demo APP程序,该程序可以直接安装,播放h264文件

2014-12-15

android房贷计算器

智能房贷计算器是一款集买房前房贷计算(公积金、商业以及组合)和买房后提前还款计算(包括等额本金和等额本息提前还款)为一体的多功能房贷计算器,并提供等额本金和等额本息还款的曲线对比图以及精确图表形式显示每期具体还款、还利、还本以及剩余金额,使用户能通过对比利息来选择比较省钱的贷款方式

2013-11-28

windows + 网络编程

对用MFC做的网络方面软件又很高的帮助,有需要的可以下下来看看

2011-01-03

windows 核心编程

电子书PDF 格式 可以帮助你深入了解windows 编程的内部原理 做出更优秀的程序

2011-01-03

关闭网页弹出广告小程序

用vc在MFC下编写的基于对话框的小程序,可以关闭网页上弹出的广告。个人制作,仅供参考

2010-09-23

c++写的 简单的宾馆管理系统

本系统可供旅客自动查询 所需的宾馆信息根据客户要求列出符合客户要求的房间编号

2010-08-20

超市管理系统 vc版

用VC个人开发的 超市管理系统,适合同学们课程设计,仅供学习使用

2010-07-01

手机管理备份收发短信软件

自己写的用于手机管理和接发短信的 小软件,有兴趣可以看看,使用mfc制作,Debug目录已删,体积很小

2010-05-02

空空如也

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

TA关注的人

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