
java
文章平均质量分 87
媒体盒子
专注于Android多媒体领域研发的技术流
展开
-
android 如何做到完全退出应用程序
当我在网上找“android 如何完全退出应用程序时”十有八九都是android.os.Process.killProcess(android.os.Process.myPid());又或者是System.exit(0);但这些未必对每一个应用程序都有效果。当你的应用程序中有很多Activity ,有很多Service,有很多线程,你就不要指望能通过以上方法来完全关闭你的进原创 2013-01-29 15:49:46 · 1866 阅读 · 0 评论 -
Bogus,bad length value xxx > IP Payload length
如果用Wireshark抓包看到有这种包,那么这个包肯定会被丢掉,表现在你的程序里面就是Server发包了,但是client没有收到,抓包看又有这个包问题产生原因,包标记的 长度大于实际传输过来的数据长度,这种问题产生的原因大部分是硬件问题,比如HUB或者Switch在包比较多的时候产生掉包,建议换个HUB或者SWITCH试试或许问题就没有了。原创 2016-09-20 08:21:49 · 8385 阅读 · 2 评论 -
Android如何不用setCustomView而实现ActionBar的自定义修改
做有ActionBar的项目时,比较懒,不想采用自定义的方式去自己写layout文件,然后分析源码,发现有些东西并不需要采用Custom的方式也能实现定制化。比如返回按钮的图标,ActionBar的背景,以及多个页面都需要修改,如果不用在每个页面都做代码修改。方法如下: @drawable/title_bg -20dp原创 2015-10-26 17:30:02 · 2440 阅读 · 0 评论 -
如何从H264原始数据SPS里面得到视频的长宽
有这样一种需求,给你一个h264原始数据文件,让你直接播放出来,如何实现?思路是这样的,H264原始数据格式都是 0x00000001后面跟0x67 0x68 0x65 0x41这样的数据,解码需要一个完整的NAL数据单元,我们需要将每个0x00000001以及下一个0x00000001之前的数据读出来,交给解码器解码。读文件我就不啰嗦了,本文主要讲解如何从SPS获取视频长宽,SPS即0x原创 2015-06-16 14:34:55 · 5749 阅读 · 4 评论 -
一个特殊需求的环形Buffer设计
最近有一个特别坑人的需求,厂家平板提供了一个回声消除接口,但每次只能读固定大小的字节数,但我们的编码器每次读取的自己数和这个大小不一样,于是就萌生了一种做一个buffer来临时存储声音数据,然后编码器再去读取,这样不管厂家每次读多少个自己,codec这边也可以控制读取的字节数了。首先映入眼帘的肯定首选环形buffer我先定义一个writeIndex 一个 readIndex,和一个当前bu原创 2015-04-10 11:07:29 · 1486 阅读 · 1 评论 -
Android各种机型,各种系统版本,如何获取外置SDCard路径
由于项目需要,在有外置sdcard的情况下,可能不希望直接将应用内数据存入内置sdcard,我于是专门写了一个函数来获取sdcard路径如果有外置sdcard就获取外置sdcard,如果没有就用系统默认的"外置sdcard"(深入研究可能知道,这个外置sdcard实际是从内置sdcard里面分出来的一个分区而已)下面直接上代码:public static String getSDCar原创 2015-01-15 10:49:20 · 1655 阅读 · 0 评论 -
Android如何实现对系统自带对话框标题栏进行修改
先上一张图可以看到,对话框的标题颜色是蓝色的,下面还有一根线也是蓝色的,在某些情况下,我们想改变程序的主题风格,颜色必须做修改,但又懒得去定制Dialog,下面的方法就诞生了: public static final void dialogTitleLineColor(Dialog dialog, int color) { Context context = dialog.ge原创 2014-11-27 15:09:09 · 4546 阅读 · 0 评论 -
Android保持屏幕常亮的三种方法
好长时间没写Blog了,最近又要实现类似功能,每次都百度去找不是很方便,还是在自己的blog上记录一笔吧!方法共有三种:1.申请亮屏锁 pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);//得到电源管理器对象wl = pm.newWakeLock(PowerManager.ACQUIRE_CAU原创 2014-11-21 16:11:06 · 5308 阅读 · 0 评论 -
关于Android Menu横纵向显示的问题(经过验证)
android:targetSdkVersion="8" 横向android:targetSdkVersion="15" 纵向其他的可以自己试试,基本应该是跟android:targetSdkVersion的设置相关跟sdk的版本没有半毛钱的关系。原创 2013-11-20 09:29:57 · 2317 阅读 · 0 评论 -
Android媒体扫描详细解析之二(MediaScanner & MediaProvider)
上篇blog说到了经过对文件夹进行扫描如果后缀符合系统设定的一些格式,那么就会进行文件内容扫描下面我们紧接着STEP 14中的status_t StagefrightMediaScanner::processFile( const char *path, const char *mimeType, MediaScannerClient &client) {原创 2013-08-15 16:05:39 · 4254 阅读 · 0 评论 -
Android媒体扫描详细解析之一(MediaScanner & MediaProvider)
用过Android手机的同学都知道,每次开机的时候系统会先扫描sdcard,sdcard重新插拔(挂载)也会扫描一次sdcard。为什么要扫描sdcard,其实是为了给系统的其他应用提供便利,比如,Gallary、Music、VideoPlayer等应用,进入Gallary后会显示sdcard中的所有图片,如果进入Gallary后再去扫描,可想而知,你会厌恶这个应用,因为我们会觉得它反应太原创 2013-08-15 12:07:57 · 12931 阅读 · 2 评论 -
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 · 2659 阅读 · 0 评论 -
网络操作不加超时引发的无限悲剧
可以说我是一个网络方面的菜鸟!现在做的项目网络部分是别个写的(已经离职)今天突然发现个问题,我在他代码的catch里面加入了一些提示信息(android 平台,弹个toast之类的)发现肯定会走到异常的代码死都走不到异常里面去。我就郁闷了,在代码里面打印了各种log 11111111 2222222222 333333333 苦逼懒得写那么清楚了原创 2013-03-22 15:34:34 · 1443 阅读 · 0 评论 -
各种开源协议的详细介绍
GPL在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。 GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的转载 2013-04-02 10:36:12 · 1411 阅读 · 0 评论