自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 记一次录制mp4音视频不同步问题的排查过程

记一次录制mp4音视频不同步问题的排查过程现象:录制系统中收录rtmp流,并用mp4v2写mp4文件。视频采用的是rtmp包里的时间戳,但是音频若使用rtmp包里时间戳则同步,而采用自行计算的时间戳则不同步。录制系统主要收录实时RTC的音视频数据,在这种情况下,音频时间戳采用自行计算的值。后面加入rtmp流的收录,没有调整音频时间戳的逻辑。所谓自行计算是:若音频采样率为44100Hz,...

2019-01-07 15:39:36 5230

原创 ffmpeg中判断阻塞socket可读/可写的方法

ffmpeg中判断阻塞socket可读/可写的方法// 判断socket fd是否可读/可写函数int ff_network_wait_fd(int fd, int write){ int ev = write ? POLLOUT : POLLIN; struct pollfd p = { .fd = fd, .events = ev, .revents = 0 }; ...

2019-01-02 14:25:19 1310

原创 刚进入Android终端即可使用busybox的命令

刚进入Android终端即可使用busybox的命令作者:dengxiayehu欢迎交流,转载请注出处。Android中的内置sh可是出了名的难用,只支持少得可怜的常用命令,所以大家一般都喜欢推一个busybox进去以方便使用。具体方法请参见:在Android模拟器中安装busybox这篇文章。但是这里又出现一个问题就是,就是我们每次adb shell进入Android

2011-11-19 21:36:45 4632

原创 vim/gvim中的拷贝与粘帖

vim/gvim中的拷贝与粘帖作者:dengxiayehu欢迎交流,转载请注出处。【vim中的拷贝与粘帖】一般设置vim为支持鼠标模式,需设置:set mouse=a但是在此时,发现通过选中文本后,然后鼠标右键,发现“复制”这一项是灰色的,表示不可用。解决方案:在要拷贝时,先按住shift,然后再通过选中文本拷贝即可。粘帖也很简单,右键选择“粘帖”即可。

2011-11-19 21:11:18 5403

原创 使用logwrapper工具将可执行程序的输出写入日志系统

在init进程执行动作(action)或启动服务(service)时,默认已将标准输入、标准输出、标准错误从定向到/dev/__null__这个“无底洞”节点,所以任何的输出都会被忽略,但有时我们确实是想把一些执行文件的输出记录下来以便我们进行分析,这里logwrapper这个工具可以派上用场了。该工具的大致实现思路是:logwrapper程序会开辟一个子进程来执行我们的可执行文件,父

2011-11-13 22:51:59 12304

原创 自己实现Android关机命令

<!--pre.western {font-family:"DejaVu Sans Mono",monospace}pre.cjk {font-family:"DejaVu Sans",monospace}pre.ctl {font-family:"Dej

2011-10-07 16:39:39 27457 14

原创 Android中有关Handler的使用(三)

Android中有关Handler的使用(三)d、自己创建新的线程,然后在新线程中创建Looper,主线程调用子线程中的发消息方法,将消息发给子线程的消息队列。package com.dxyh.test;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import and

2011-05-06 22:40:00 11628 2

原创 Android中有关Handler的使用(二)

Android中有关Handler的使用(二)2、sendMessage版本的Handler的使用     这里介绍几种模型:a、默认的Handler(消息处理队列挂在主线程上)package com.dxyh.test;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;im

2011-05-06 22:26:00 17990 1

原创 Android中有关Handler的使用(一)

Android中有关Handler的使用(一)       一个Handler允许你发送和处理消息(Message)以及与一个线程的消息队列相关的Runnable对象。每个Handler实例都和单个线程以及该线程的消息队列有关。当你创建了一个新Handler,它就会和创建它的线程/消息队列绑定,在那以后,它就会传递消息以及runnable对象给消息队列,然后执行它们。       需要使用Handler有两大主要的原因:       (1)在将来的某个时间点调度处理消息和runnable对象;      

2011-05-05 23:46:00 5897

原创 Android中的布局方式(二)

Android中的布局方式(二)     【3】TableLayout表格布局     TableLayout以行和列的方式排列子控件,但它不会显示行和列的边界线。在TableLayout中使用TableRow对象来定义多行。     重要属性介绍:     android:stretchColumns=”1”       // 表示在有剩余空间的情况下,第2列可以拉伸     android:shrinkColumns=”1”        // 空间不够时,第2列可以被压缩     android:co

2011-04-24 12:44:00 1662

原创 Android中的布局方式(一)

<br />Android中的布局方式(一)<br /> <br /> <br />     【1】FrameLayout帧布局<br /> <br />     FrameLayout是最简单的布局方式。它基本上就是用单个物件,例如一幅图片,来填充你屏幕上的一片空白区域。FrameLayout上所有的子元素都重叠在屏幕的左上角;你不能为子元素指定一个不同的位置。因此,子view就会简单地在之前的子view上重画,部分或者全部覆盖(除非新的物件是透明的)。<br />     示例截图:  <br /><b

2011-04-24 12:34:00 3495 1

原创 在Android模拟器中安装busybox

在Android模拟器中安装busybox【背景】:     Android模拟器的shell真是难用啊,很多命令都不支持,如find、grep、send等等,最近正好有时间,想捣鼓捣鼓,用交叉编译将busybox安装到模拟器中去。【具体步骤】:     1) 下载busybox源代码,并解包     $ wget -c http://www.busybox.net/downloads/busybox-1.7.0.tar.bz2     $ tar jxvf busybox-1.7.0.tar.bz2   

2011-04-22 22:12:00 5385

原创 Android之 对话框 的使用

<br />Android之对话框的使用<br /> <br />       一个对话框通常是在当前Activity之前显示的一个小的窗口。下面的Activity失去了焦点,上面的对话框接收用户的交互信息。对话框通常用来作为提示以及直接与程序运行过程相关的短暂停留界面。<br /> <br />AlertDialog<br />       描述:一个可以处理0个、1个、2个或3个按钮,和/或一组包含复选框或单选按钮等可以选择的项。AlertDialog足够胜任创建和用户交互的大部分对话框,并且它也是被推

2011-04-21 00:09:00 11655 2

原创 Cscope的使用(领略Vim + Cscope的强大魅力)

Cscope的使用(领略Vim + Cscope的强大魅力)1、Cscope介绍       Cscope是类似于ctags一样的工具,但可以认为她是ctags的增强版,因为她比ctags能够做更多的事。在Vim中,通过cscope的查询,跳转到指定的地方就像跳转到任何标签;她能够保存标签栈,所以通过合适的键盘映射绑定,你能够在函数向后或向前跳转,就像通常使用的tags一样。       首次使用Cscope时,他会根据源文件生成符号数据库。然后在以后的使用中,cscope只是在源文件有改动或源文件列表不同

2011-04-18 02:39:00 113463 4

翻译 How to Use Password Fields(密码框的使用)

How to Use Password Fields(密码框的使用)       JPasswordField — JTextField类的子类,提供了专门的文本输入框作为密码的入口。出于安全的考虑,密码框并不会显示用户所输入的内容。相反,密码框显示的却是和输入不同的字符,例如’*’。作为另外一个安全的机制,密码框是以字符数组来存储内容,而不是字符串。像普通的文本框一样,当用户想要结束输入时,例如按下回车键,密码框会发出一个action类型的事件。       下图是一个打开一个小窗口,并且提示用户输入密码

2011-04-16 22:05:00 9954

翻译 Java swing 相关: Using Top-Level Containers(使用最上层容器)

Java Swing 相关基础知识Using Top-Level Containers(使用最上层容器)

2011-04-11 23:12:00 4404

Android中Log相关流程介绍

Android中log(写入、读取)相关的代码流程介绍。

2012-03-10

Android中Binder处理流程

Android中Binder处理流程、ServiceManager处理流程、 Binder驱动处理等 内附测试示例、工具脚本等

2012-02-06

Java趣味编程50例

刚从C转来,新接触Java,努力入门中…… 正好看到CSDN论坛 (地址:http://topic.csdn.net/u/20070514/12/45df0d84-e6f8-4cb4-b9ee-c5101e12c7d6.html) 上有个帖子出了一些小的Java编程题,就拿来练练手了。 PS:由于刚学Java没多久,很多程序的思想都是C的那一套,只不过换成Java语言而已, Java的很多API都没正式深入去看,所以有些问题直接用API就行的东西,我可能自己造了“轱辘”, 各位有空的话可以将程序再弄得简洁一些,更高效一些。 欢迎板砖,轻点最好;欢迎交流,共同提高。

2011-03-06

空空如也

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

TA关注的人

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