自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android4chodison

android天地,爱好android,加油!与大家共同进步!

  • 博客(59)
  • 资源 (8)
  • 收藏
  • 关注

原创 NDK jni签名获取秒级

两条命令搞定,写成shell脚本即可javac xxx.javajavap -s -private xxx

2018-10-19 00:28:59 474

原创 Mac系统隐藏文件

通过终端命令行来操作完成1.显示全部文件defaults write com.apple.finder AppleShowAllFiles -bool trueosascript -e 'tell application "Finder" to quit'2.不显示全部文件defaults write com.apple.finder AppleShowAllFiles -bool

2017-11-10 09:19:59 343

原创 mac eclipse 出现 “android sdk content loader 0%” 卡住的解决方法

首先确保已关闭eclipse,最好用活动监视器看下是否还存在eclipse进程,然后进入终端,然后如下命令行操作:cd ~/.android/rm -rf cache/rm -rf ddms.cfg

2017-11-07 14:11:43 438

原创 bin/ld.bfd: warning: creating a DT_TEXTREL in a shared object解决办法

android平台编译动态库当报如下错误日志内容而失败的,请使用ndk-r10e,下载链接为http://androiddoc.qiniudn.com/ndk/downloads/index.html错误日志内容:...bin/ld.bfd: warning: creating a DT_TEXTREL in a shared object

2017-11-06 16:35:11 1688

原创 关于MacOS升级10.13系统eclipse菜单灰色无法使用解决方案

最近,苹果发布了macOS High Sierra,版本为10.13,专门针对mac pro的用户来着,至于好处大家到苹果官网看便是,我就是一个升级新版本系统的受益者,同时也变成了一个受害者:打开eclipse后去菜单看,发现傻眼了,所有菜单栏选项全部变成灰色,完全不可用了,如下图:解决办法步骤如下:1.关闭eclipse,找到eclipse启动程序Eclipse.app

2017-09-29 18:18:04 1780 1

原创 mac编译Android版本ffmpeg的x86_64架构库

用终端命名编译报错:yasm/nasm not found or too old. Use --disable-yasm for a crippled build原来需要在mac上安装1.2.0或更高版本版本的yasm终端命令如下:curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

2015-12-25 18:01:59 807

原创 命令集记录

arm-linux-androideabi-readelf.exe -a xxx.so | grep TEXTREL

2015-09-23 15:21:00 431

原创 Android播放器显示:surfaceview invalid token (identity=473)

最近播放器在Android2.3版本遇到显示不出来的问题,在调用nativewindown的API时老报下面的错误:09-22 11:36:28.877: E/Surface(18595): invalid token (identity=473)09-22 11:36:28.877: E/Surface(18595): invalid token (identity=473)09-2

2015-09-23 15:15:44 2490

原创 【第四篇章-android平台MediaCodec】根据编码类型MIME_TYPE获取MediaCodecInfo

String AMIME_VIDEO_VP8 ="video/x-vnd.on2.vp8"; //- VP8 video (i.e. video in .webm) String AMIME_VIDEO_VP9 ="video/x-vnd.on2.vp9"; //- VP9 video (i.e. video in .webm) String AMIME

2015-09-08 17:17:49 6252 1

原创 ant jar error:Execute failed: java.io.IOException: Cannot run program XXX ${aapt}

最近在用eclipse的ant自动化打包,所有的配置都对了,但是总打包失败,报错:ant jar error:Execute failed: java.io.IOException: Cannot run program XXX ${aapt}: error 2 No such file or director,找了半天配置环境以及仔细看了built.xml文件,粗看真没啥错,然而同样地工程在同事

2015-08-26 15:39:53 3104

原创 开发rtmp直播流测试地址

目前流媒体直播流除了用HLS来做,很多还是用rtmp协议,在这里我先粘帖个测试流地址供大家调试开发:rtmp://live.hkstv.hk.lxdns.com/live/hks

2015-08-06 10:31:53 14357 1

原创 【第四篇章-android平台MediaCodec】解决Observer died. Quickly, do something, ... anything...

当出现!!!Observer died. Quickly, do something, ... anything...说明你的程序已经出现严重异常了,那会是什么情况呢?这个问题困扰了我许久,后来原来是使用了mediacodec的非公有API导致的,去掉这个API即OK。

2015-07-21 15:30:00 3572 5

原创 解决MAC电脑下魅族MX4手机adb连接问题

MAC电脑本对于开发者而言是一个很方便的东东,但是在对魅族MX手机调试时发现死活连接不上,原来需要做下面的事情:首先打开终端,输入命令:system_profiler SPUSBDataType,enter之后可以查看连接的各个usb设备的信息,找到供应商ID(Vendor ID),如MX4的Vendor ID为0x2a45;接着在终端输入:echo "0x2a45" > ~/.a

2015-07-17 15:24:48 2608

原创 【第四篇章-android平台MediaCodec】判断是否支持硬解码代码

public boolean isSupportMediaCodecHardDecoder(){ boolean isHardcode = false; //读取系统配置文件/system/etc/media_codecc.xml File file = new File("/system/etc/media_codecs.xml"); InputStream in

2015-06-27 13:30:36 4033

原创 【第四篇章-android平台MediaCodec】编解码逻辑认识

MediaCodec进行编解码的大体逻辑是这样的:    主要函数的调用逻辑如下:    需要做的东西是一个媒体文件合成器,功能是先截取出多段媒体文件中的某些片段,再将这些片段合成为一个新的媒体文件。实际上就是先用解码器将多段outputBuffer数据拿出来,然后再用编码器将它们放到一个文件里去。如果还要加上叠加字幕、特技处理等的效果,实际上也是先拿到ou

2015-06-26 16:01:45 1361 4

原创 eclips常见问题汇总

1.eclips Android-SDK:Resolving error markers解决方式:删除workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi文件,重启Eclipse即可2.Parsing Data for android-21 failed Unsupported major.minor v

2015-06-13 11:35:45 964

原创 my work note from new job

can view all android source code:http://androidxref.com

2015-05-22 15:25:54 787

原创 android中byte[] short[] int[] long[]数组数据转换

import java.nio.ByteOrder;public class BytesTransUtils { private String TAG = "BytesTransUtils"; private static BytesTransUtils instance = null; private BytesTransUtils() { // Lo

2015-04-16 16:25:49 2154

原创 NDK编译c包含C++头文件 error: unknown type name 'class' 的解决方法

在进行native开发的时候,难免会遇到C文件包含C++头文件而调用C++函数,若没做什么处理,直接include进行编译的话,会遇到以下错误:error: unknown type name 'class'error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token那么怎么解决呢?首先,找下报

2015-03-30 11:06:00 8115

原创 视频监控行业G711编解码[续]采集常识

1. 采集Buffer 所需大小参考因素:A.所需要缓冲多长时间,比如是100ms还是50ms;B.每秒钟会收到的字节数;BufferSizeM = dwBytesPerSec * dwLatencyInMilliseconds / 1000;2. 举例说明:采集声音:若编码格式使用G711的话BufferSize = 16 /8 * 8000 *

2015-03-26 15:50:34 1361

原创 【第三篇章-android平台buffer播放源码】核心展示

对于这个buffer播放demo,谢谢大家的关注,一直以来没时间来分享demo的实现,今天抽空给大家看看核心代码,欢迎关注的朋友们提宝贵的建议!chodison_mediaplayer.cpp/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License,

2015-03-26 15:32:51 1176 2

原创 视频监控行业G711编解码[续]编码样例

//G711 PCMA编码bool CEncoder::G711A_AudioEncode(LPBYTE pInput, unsigned int nInLen, LPBYTE pOutput, unsigned int& nOutLen){ if(!pInput || !pOutput || nInLen <= 0) return false; unsigned int

2015-03-26 14:30:15 2078

原创 视频监控行业G711编解码

首先大家得知道G711是什么?若使用度娘搜索会很多页面出来的,我就简单的介绍下:G.711是一种由国际电信联盟(ITU-T)订定音频编码方式,又称为ITU-T G.711。G.711使用64Kbps的带宽,可将14bits转换成8bits。目前G.711有两个编码方式:一种是u-law又称mu-law,第一种称PCMU,第二种称PCMA,如果带宽足够并且需要更好

2015-03-26 14:23:36 1877

原创 AAC ES流如何解码播放

AAC原始流能让ffmpeg软解或系统硬解,最简单的处理可在前面加上ADTS头,那么这个ADTS头如何添加呢?其实就是七个字节,下面分享一个我使用的代码样例,每次传递数据都是以一个个sample为单元的:adts_header[7] = {0xff,0xf9,0x00,0x00,0x00,0x1f,0xfc};     //AAC level     switch(AAC_level)

2015-01-21 18:02:09 2985

原创 音频编码介绍汇总

音频编码汇总     PCMU(G.711U)     类型:Audio     制定者:ITU-T     所需频宽:64Kbps(90.4)     特性:PCMU和PCMA都能提供较好的语音质量,但是它们占用的带宽较高,需要64kbps。     优点:语音质量优     缺点:占用的带宽较高     应用领域:voip     版税方式:Fr

2015-01-21 17:55:50 1996

原创 开发HLS测试地址M3U8

目前HLS协议在流媒体协议里用的很普遍了,大家在开发的时候不免要进行基本的测试,之前优酷网站间接地提供了大量的测试测试,但是自从14年7月份开始由于优酷升级了服务器,之前拼接方式形成的地址都失效了,在此提供几个测试地址,如下:VOD:http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8http://devimag

2014-12-17 14:05:27 15038

原创 优酷网网络流播放地址url的获取新方法

之前所写的那篇获取优酷网网络播放地址M3U8的方法在7月份已经失效,8月份开始优酷公司采取了一种新的策略,新的策略上对应的M3U8的地址拼接为:http://pl.youku.com/playlist/m3u8?vid=xxx&type=mp4&ep={$ep}&sid={$sid}&token={$tk}&ctype=12&ev=1&oip={$oip},跟之前不同的是多出了很多参数值,这些想获

2014-12-05 14:05:54 4589

原创 【第二篇章-android平台buffer播放实现】buffer play demo

通过第一篇章的探索,可以明确下在android平台下是可以实现buffer播放的,它支持的android的版本是从4.0开始的,因此,android平台可以实现android4.0以上平台的buffer播放。我已经实现了一个DEMO,支持4.1到4.4,大家可以使用下,需要的人多的话可以分享源码。

2014-12-01 17:14:47 1132 2

原创 PinyinIME源码NDK编译的问题

PinyinIME源码NDK编译的问题

2014-12-01 15:57:55 1130

原创 lockCanvas为NULL的原因

lockCanvas为NULL的原因

2014-11-25 10:32:09 4415 1

原创 NDK编译库运行时报dlopen failed: cannot locate symbol "__exidx_end" 解决办法

当用NDK编译的库在运行加载时报如下错:dlopen("/data/data/xxx.xxx.xxx/lib/libxxx.so") failed: dlopen failed: cannot locate symbol "__exidx_end" referenced by "libxxx.so"...解决办法如下:在你报错的库libxxx.so的编译脚本Android.mk请加

2014-11-12 10:39:34 26622 1

原创 【第一篇章-android平台buffer播放探索】buffer play demo

从google发布的各个android版本源码看,android4.0开始就做了支持buffer播放的接口及demo了,编译完android SDK后在out中会生成一个可执行文件stream,这个就是一个非常好的demo测试程序,支持H264的ts播放,程序源代码位置以android4.3为例说明下,目录:android4.3\frameworks\av\cmds\stagefright,对应文

2014-10-11 11:44:09 2140 3

原创 【第一篇章-android平台buffer播放探索】Steaming Source Player

为了在android平台找到buffer播放方式,花了不少功夫,在这个探索过程中,果断否定了native media的方式,在找到Steaming Source Player之前还进行了一次Nuplayer的尝试,我们把android里面的Nuplayer单独独立出来可进行NDK编译用加载库的方式跑起来,在三星以及小米的手机上跑是没有问题的,整体功能还算OK,但是想android平台通吃的话,会遇

2014-08-16 17:20:18 1657 2

原创 10个可考虑跳槽的信号

【10个可考虑跳槽的信号】1、工作中学不到新知识。2、早上醒来不再为要去上班而感到兴奋。3、上网聊天购物来打发工作时间。4、不喜欢大多数同事。5、月薪入不敷出。6、上班时花时间找其他工作。7、过去两年没有加过薪。8、你的老板很糟糕。9、公司经营不景气。10、一直觉得工作压力很大。

2014-08-16 16:22:23 680

原创 android开发学习-日常用到的好东西-常用技巧分享

开发日常用到的一些东西NDK下载地址:(只需修改即可下载对应的版本)android SDK manager升级代理设置。

2014-08-16 16:02:39 1734

原创 优酷网和56网获取网络流播放地址url的方法

一.优酷网在优酷的网页上随便点个视频,获得该视频的网页网址,比如:http://v.youku.com/v_show/id_XNjI0ODYwOTUy.html其中,XNjI0ODYwOTUy是它的ID号。ID替换法将下面格式中的xxxx替换成上面的ID号,就可以了:(1)http://v.youku.com/player/getRealM3U8

2013-11-20 13:51:35 6342 2

原创 【第一篇章-android平台buffer播放探索】native media

在android平台,从4.0开始,提出了openmax架构,所以在DNK的R7版本中有了openmax AL层播放的DEMO即native media,这个DEMO就是读本地文件,然后把所读buffer通过openmax AL接口送给解码器解码播放,在DEMO里也自带了一个ts文件,我就是在这个基础上NDK编译出JNI库,放源码里mm或用eclipse编译出APK,测试了发现播放OK,从里面代码

2013-09-16 15:36:42 1738 1

原创 Android RIL源码分析

Android RIL源码分析分三部分如下:Android RIL源码分析(1)Android RIL源码分析(2)Android RIL源码分析(3)另外相关参考文档有:1.《Android系统原理及开发详解》2.http:/www.meegozu.com/thread-391-1-1.html3.http://www.netm

2012-04-09 14:22:04 942

原创 Android RIL源码分析(3)

第三部分, 流程分析1.Outgoing Call流程。vTwelveKeyDialer.java|_onKeyUp()|_placeCall()vOutgoingCallBroadcaster.java,|_onCreate()|_sendOrderedBroadcast(broadcastIntent, PERMISSION,new Outgoing

2012-04-09 14:19:48 1033

原创 Android RIL源码分析(2)

第二部分, Java代码1.package简介:Android中,telephony相关的java代码主要在下列目录中:vframeworks/base/telephony/java/android/telephony提供Android telephony的公开接口,任何具有权限的第三方应用都可使用,如接口类TelephonyManager、SMSManager。v

2012-04-09 14:18:25 1352

android平台buffer播放DEMO

支持android平台4.1以上,播放TS格式文件,支持H264/AAC,欢迎测试。

2014-12-01

openmax spec and code include

一份很全的openmax spec文档及相应需事先的code,包含了所有版本,有AL和IL的,值得参考开发!

2013-10-03

ffmpeg2.0最新发布版

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。还可以搭建流媒体服务器。

2013-08-22

android openmax AL/IL

对openmax IL/AL框架的分析,android平台openmax多媒体引擎分析,一个很好的在android上移植openmax时的参考资料,同时包含介绍了Android_系统下Stagefright_Player框架,对我开发起到了一定的帮助!

2012-12-29

android修改或添加按键参考好资料

里面包含两个文档,对于在android上要修改或添加按键的有大的帮助,我做的按键工作就是参考这个完成的,值得一看值得研究一番,有助于了解按键流程!

2011-12-13

notepad++源代码查看编辑器软件源码

notepad++是一个很好的源代码查看和编辑软件,个人觉得比UE要好,可供大家研究!是完整的软件源码!

2011-12-13

TS协议详细解析 通俗易懂

此解析容易懂,很好的解析说明,一度被华为收录!!!

2011-07-01

提取MP3中ID3信息 源代码

提取MP3中ID3信息,此程序已经移到多媒体播放器中使用,很方便,主要是ID3图片显示非常好

2010-01-08

空空如也

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

TA关注的人

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