自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (23)
  • 收藏
  • 关注

原创 Mp4v2实现h264+aac打包成Mp4视频文件

使用mp4v2实现录制mp4视频,需要准备如下信息:1、获取mp4v2源码并编译成库文件,对于mp4v2的编译可以看前面的文章android 编译mp4v2 2.0.0生成动态库;2、获取h264数据中的sps和pps数据,如果不会的话可以查看前面的文章 点击打开链接;3、获取音频解码信息,在调用MP4SetTrackESConfiguration使用,具体的获取方式一种通过f

2013-04-27 11:27:09 18514 21

原创 Android播放声音SoundPool、MediaPlayer、AudioTrack

Android平台中关于音频播放有以下三种方式:    1.SoundPool ---- 适合短促且对反应速度比较高的情况(游戏音效或按键声等)   2.MediaPlayer ---- 适合比较长且时间要求不高的情况   3.AudioTrack ---- 播放解码后的PCM码流 方法一:SoundPool1)SoundPool简介        SoundP

2013-04-24 12:48:41 15086

原创 android 虚拟摇杆图片版

在之前A single virtual joystick development使用的圆盘和摇杆都是使用颜色来实现的,但是在实际的开发过程中,这并不美观,所有在这使用图片替换之前使用颜色的圆盘和摇杆,两者之间的区别在于,使用颜色绘制使用的是中心点作为坐标,而使用图片则使用的是左上角作为坐标,所以这里需要进行转换,同时注意的就是图片的宽度问题,里面计算的都是使用的像素,而你一开始将图片转化为bitm

2013-04-23 14:51:07 5126

原创 h264检测是I帧还是P帧,解决录像第一帧有马赛克问题

最近使用h264码流数据进行录像,但是录出来的第一帧有马赛克,究其原因是录像的第一帧不是关键帧,所以需要录像是需要判断第一帧是否是关键帧,方法有两种,第一种是原码流的基础上查找,第二种是将原码流传递给ffmpeg让ffmpeg判断key_frame,第二种相对简单,但是由于这样一来录像和解码视频切合的太紧密,之后修改比较麻烦,所以选择第一种方案,查看注释1可以明白如何检测h264码流的关键帧,下面

2013-04-23 09:32:05 7368 1

原创 android开发过程中遇到的小问题

1、在编写xml布局的时候,总是提示[Accessibility] Missing contentDescription attribute on image的警告信息解决方法:<ImageView android:layout_width="210dp" android:layout_height="32dp" android:layout_centerHo

2013-04-22 11:42:06 1405

原创 android yuv2rgb方案

之前项目里面需要解码h264视频,使用的是ffmpeg,解码出来的是yuv,最好的显示方法是通过opengl es 2.0来实现视频的显示,如果不会opengl es 2.0的话,那么就必须将yuv2rgb然后在绘制图像,而yuv2rgb我只知道两种方法1.通过ffmpeg里面的sws_scale来实现,不过这种方法比较慢,2.这是我之前使用的方法在http://wss.co.uk/pinknoi

2013-04-18 09:16:57 5767 10

转载 H264 获取SPS与PPS(附源码)

原文链接:http://blog.csdn.net/zgyulongfei/article/details/7538523在用Android手机进行h264硬编码的时候如果要进行视频流的实时传输与播放,就需要知道视频流的Sequence Parameter Sets (SPS) 和Picture Parameter Set (PPS)。今天算是看明白如何获取SPS和PPS,在这里记

2013-04-16 15:48:41 5981

原创 android 编译libmad

之前项目里面需要转歌曲,不过是通过java来实现的比较慢,最近有时间在网上查看mp3解码,找到libmad,能够实现mp3的解码,所以编译成库测试一下性能。1、下载源码,到官网 http://sourceforge.net/projects/mad/files/libmad/0.15.1b/ 现在最新的版本是libmad-0.15.1b2、解压下载的文件,进入并创建jni目录,然后将里面的

2013-04-16 14:54:29 5072 7

原创 android 使用libjpeg-turbo将yuv2jpeg图像

要将yuv2jpeg图像则需要两个准备,一、准备libjpeg-turbo库,可以查看之前android 编译libjpeg-turbo文章,二、调用libjpeg-turbo代码,可以查看源码中的Exception.c文件,也可以看之前的使用libjpeg对图像进行压缩文章,下面就是根据这两篇文章来编写调用libjpeg-turbo库来实现yuv2jpeg的功能。1、将h264解码成yuv我

2013-04-16 10:35:50 12780 1

原创 android 编译libjpeg

之前需要将yuv转换为jpg图像,查看网上说libjpeg-turbo比libjpeg快2-3倍,但是在android手机上实践了一下,需要40-60个ms,这个虽然比以前的300ms好多了,但是还是不能满足我的要求,进一步查看了网上信息,libjpeg-turbo是为x86和x86-64进行优化的使用了SIMD指令,而手机上不支持,所以需要在试验一下libjpeg的需要。下面是我的编译步骤:

2013-04-13 10:39:56 6264 1

转载 使用libjpeg对图像进行压缩

libjpeg 是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。Libjpeg不仅可以把bmp格式转化成jpg格式,还支持其他格式的转化成jpg格式(例如ppm,gif,targa,rle等)。转化流程如下:(1) 分配和初始化一个JPEG压缩对象在libjpeg中,JPEG压缩对象被定义为“struct  jpeg_comp

2013-04-12 12:34:42 8963

原创 android 编译libjpeg-turbo

最近解码视频生成的是yuv数据,然后需要生成jpg图片,之前的方案是yuv-rgb-bmp-jpg这样的话是很慢的,计算了时间大概要300ms左右,导致多次点击照相,会造成视频画面的延迟,所以只能使用别的方案替代,在网上查询libjpeg,但是又看了一篇文章http://www.linuxsir.org/bbs/thread374093.html说libjpeg-turbo比libjpeg快了2-

2013-04-12 10:49:29 12895 4

原创 android 编译mp4v2 2.0.0生成动态库

最近要录制h264+aac的mp4视频,使用mp4v2来实现,下面就是编译的方法1、下载源码,到官网http://code.google.com/p/mp4v2/downloads/list 下载,现在最新的是mp4v2 2.0.02、解压下载的mp4v2-2.0.0.tar.bz2,然后进入mp4v2-2.0.0,将里面的文件以及文件夹拷贝的新创建的jni目录中,目录结构例如:/home

2013-04-10 15:35:53 12388 26

转载 Faac 编码实时pcm流到aac流

我的程序是根据faac 1.28 库中的frontend目录下的faac的例子改的。下面是程序的运行流程:首先调用faacEncHandle hEncoder=faacEncOpen(samplerate,channels,& samplesInput,&maxBytesOutput);1.打开aac编码引擎,创建aac编码句柄。参数 samplerate 为要编码的音频pcm

2013-04-10 14:09:44 10125 5

转载 MP4V2 录制mp4(h264+aac)视频

MP4录制程序是根据mpeg4ip中mpeg4ip-1.5.0.1\server\mp4live\file_mp4_recorder.cpp文件改的。程序支持h264+aac(raw 流)的写入方式,用到了动态库mp4v2-2.0.0,不要用mpeg4ip中那个较老的版本,因为在录制大文件时会有效率问题,下面是一些mp4v2接口的简介。 MP4FileHandle MP4Create (c

2013-04-10 14:08:26 17410 3

转载 AAC ADTS格式分析

1.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ES流前

2013-04-08 13:19:06 2959

原创 android 编译faad2

由于最近要做AAC解码,查看了网上最初有两种思路:第一章种是ffmpeg,我查看./configure --list-decoders的时候,有看到aac解码器,同时在x86上编译也能够打开aac解码器,但是用用ndk交叉编译的时候即使--enable-decoder=aac也没有打开AAC解码器,所以这种方法暂停。第二中方法是使用faad2解码,在x86上调试,写一个demo能够解码aac,然后

2013-04-07 13:17:27 5259 9

原创 NDK CPU Features

Android NDK CPU Features detection library:-------------------------------------------This NDK provides a small library named "cpufeatures" that can be used atruntime to detect the target device's

2013-04-02 13:11:11 4226

原创 FFmepg 多线程解码历程 - 7:submit_packet

//在ff_thread_decode_frame中会调用submit_packet将码流交给对应的解码线程,来实现线程状态的改变,具体的流程图见下面图static int submit_packet(PerThreadContext *p, AVPacket *avpkt){    FrameThreadContext *fctx = p->parent;    PerThr

2013-04-01 09:24:31 2662

WebViewAndJs

最近项目中经常使用Html5而Android与JS调用经常会用到,这里记录一下。

2015-08-18

自定义FragmentTabHost

查看了FragmentTabHost的源码,可以知道FragmentTabHost不保存状态是因为切换fragment的时候是使用detach和attach来Fragment的隐藏和显示的,这样的话每次切换肯定要重新加载布局,处理使用detach和attach,我们还可以使用show和hide来实现显示和隐藏,这样可以保存状态,方案出来了就是修改FragmentTabHost源码将切换Fragment的方式detach和attach改为hide和show。

2014-06-27

TestNavigation

最近要实现类似Google Play Tab效果,下面搜集一些问题以及解决方案

2014-05-27

加载动画图片

加载动画的图片以及wifi图片组,总共31张图片

2014-01-15

CSipSimple

CSipSimple添加了视频通信功能,不过要开启,具体使用可以看http://blog.csdn.net/jwzhangjie/article/details/13017197

2013-10-25

关于Activity和Task的设计思路和方法.pdf

关于Activity和Task的设计思路和方法,这个是pdf的形式,里面详细介绍了Activity和task的原理已经工作原理

2013-10-15

openfire.jar

openfire.jar用来解析openfire的用户名密码,里面采用Blufish加密方式

2013-09-23

快速下载助手

快速下载助手,多线程下载文件,加快下载速度

2013-08-05

解决SurfaceView设置透明造成覆盖其他组件的替代方案

解决SurfaceView设置透明造成覆盖其他组件的替代方案,同时也实现了圆盘的功能

2013-07-25

视频播放器

JwZhangJie视频播放器,免费开源,欢迎使用

2013-07-19

Graduation

本地视频播放器,音频使用OpenSL ES播放,视频采用OpenGL ES2.0进行显示

2013-06-19

SDL1.3源码

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

2013-06-17

竖直的滑竿

竖直的滑竿,通过SurfaceView进行绘制的,有很好的设备适应性

2013-05-03

单虚拟摇杆图片版

android实现虚拟摇杆,使用图片替换颜色来实现。

2013-04-23

双虚拟摇杆demo

双虚拟摇杆demo,在之前的单虚拟摇杆基础上制作的

2013-03-26

单虚拟摇杆源代码

单虚拟摇杆,通过TouchEvent事件来检测触摸事件

2013-03-26

arm-linux-gcc-4.4.3.tar.gz

arm-linux-gcc-4.4.3,c交叉编译器,用来交叉编译程序

2013-03-26

2326操作系统yinpin第三章

2326操作系统yinpin第三章

2012-05-18

TCL相关资料

TCL培训教程(全).doc 78页 华为TCL培训教程(全).pdf 70页 TCL的使用.pdf 19页 系统学习TCL脚本入门教程.doc 75页 绝对详细

2012-05-18

pull解析.jar

解析Xml使用的pull-parse,少量积分就可以下载

2012-04-27

android动态设置日期时间源代码

这是android动态设置日期时间源代码,能够正常编译和运行,里面有已经编译好的apk包,直接安装就可以使用,比较粗略,两个按钮,两个TextView。

2011-08-07

空空如也

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

TA关注的人

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