- 博客(14)
- 资源 (22)
- 收藏
- 关注
原创 MediaPlayer和AudioTrack播放Audio的区别与联系
播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,WAV,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。而AudioTrack只能播放已经解码的PCM流,如果是文
2012-05-31 10:30:50 23203 3
原创 恢复出厂设置后默认铃声与烧机后的默认铃声不一致的问题
恢复出厂设置后默认铃声与烧机后的默认铃声不一致,包括来电铃声铃声,通知铃声,闹钟铃声。如果不单独设置默认初始铃声,则默认铃声是取db中的第一个铃声。/data/data/com.android.providers.media/databases/internal.db中audio VIEW(对应audio_meta表)中各自类型的第一条记录为默认铃声。例如,来电铃声(ringtone)
2012-05-28 10:03:56 8242
原创 创建mediaserver的过程
创建mediaserver,以及mediaserver中运行的几个service。1.文件frameworks/base/media/mediaserver/main_mediaserver.cppint main(int argc, char** argv){ sp proc(ProcessState::self()); sp sm = defaultService
2012-05-25 14:42:25 4842
原创 通过grep --help或者man grep查看grep命令用法
通过在linux命令行终端中输入grep --help可以查看到grep的中文用法介绍,显示如下。如果是使用man grep,显示的是英文的介绍。用法: grep [选项]... PATTERN [FILE]...在每个 FILE 或是标准输入中查找 PATTERN。默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。例如: grep -i 'hello w
2012-05-25 09:42:24 9552
原创 AwesomePlayer类的seek操作介绍
AwesomePlayer类的seek操作介绍1.执行音频seek的地方(mAudioPlayer->seekTo)只有两处,一处是在seekAudioIfNecessary_l函数中,另外一处是在finishSeekIfNecessary函数中。2.执行seekAudioIfNecessary_l函数的地方有两处,一处是在seekTo_l函数中,另外一处是在play_l函数中。
2012-05-24 16:30:45 4133 1
原创 编译NotificationManagerService.java文件的方法
修改文件NotificationManagerService.java (frameworks\base\services\java\com\android\server)需要编译:frameworks/base/services/java/com/android/server/生成:out/target/product/hsdroid/system/framework/services.
2012-05-24 15:10:11 2432 1
原创 printf中的short int, int, long int和long long int
hd: short int d: int ld: long int lld: long long int以下转自:http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/Linux基本数据类型大小——int,char,long int,long long int在Linu
2012-05-16 16:26:21 20852
原创 Mutex的lock(), unlock(), tryLock()函数介绍
lock函数和tryLock函数都是用于锁定对象,但他们之间有一定的区别:lock函数是阻塞的,因为它调用WaitForSingleObject函数时传递的第二个参数是INFINITE,表示无限等待下去,所以是阻塞的。tryLock函数时非阻塞的,调用后立即返回。因为它调用WaitForSingleObject函数时传递的第二个参数是0,表示不等待,立即返回。调用lock或者tryLo
2012-05-15 11:06:01 26394 2
转载 Android开关机动画/铃音是如何播放的?
1. 开关机动画的启动Android系统在init.rc中定义了很多Service,具体定义格式可以参考《Android Platform Developer’s Guide》中的“Android Init Language”。init.rc中定义的Service将会被init进程创建,其中已经定义的服务就包含了开机动画.每一项服务必须在/init.rc中定义Android系统启动时,
2012-05-11 10:32:33 7829 1
原创 StagefrightPlayer取得当前播放位置和总时长
1. StagefrightPlayer计算取得的播放时长和总时长的单位是微秒(us),需要四舍五入为整数秒,用于播放器显示时长和播放进度。在计算时,是按照四舍五入的方式来计算的,即小于500ms的舍去,不计入时长;大于等于500ms的按照1s计入时长。这一点需要特别注意,因为在播放较短的文件时,在更新进度条时滑动块可能移动的不平滑。计算方法如下:status_t Stag
2012-05-10 15:08:32 3299
转载 H264/AVC视频解码时AVC1和H264的区别
我一直疑问为什么有些视频解码时显示格式是:H264,大部分又是:AVC1我在搜索编程资料时在微软的msdn上发现的:原文:http://msdn.microsoft.com/en-us/library/dd757808(v=vs.85).aspxFOURCC:AVC1 描述:H.264 bitstream without start codes.FOURCC:H264 描述
2012-05-07 16:46:25 33146
原创 U8500开启log的方法
手机拨号*#*#2846579#*#*,进入projectmenu--后台设置--LOG设置--LOG开关--打开,还可以设置level级别;然后重启。以上步骤操作和执行命令1.需要root权限(部分rom不需要)2.打开logcat,并设置level adb shell echo 1 > /sys/kernel/logger/log_main/enable //
2012-05-07 09:23:58 4926
原创 关于通过bindService启动的service,在unbindService后service是否继续运行的讨论
【讨论】通过bindService启动的service,在unbindService后service也结束了20楼的回答非常清楚:有三种情况:如果直接使用服务,则没有必要进行绑定,但是如果要使用服务里面的方法,则要进行绑定。具体的启动情况有下: 1.当启动时,单独调用bindService方法,在unbindService后,会执行service的onUnbind,在执行onDes
2012-05-04 22:39:50 15034
原创 SharedPreferences存储变量的文件路径
SharedPreferences存储共享变量的文件路径位于“/data/data/应用程序包/shared_prefs”目录下,通过adb shell,可以看到如下所示:查看当前目录:# pwd/data/data/com.min.ijoke/shared_prefs显示当前目录下的文件:# lsmin_ijoke.xml // 此文件就是存储SharedPr
2012-05-02 17:45:48 52369 1
SGP.02_v3.2_updated.pdf
2020-08-17
《音视频开发进阶指南:基于Android与iOS平台的实践》第4章AudioPlayer的Android Studio工程源码
2019-04-26
安卓爱笑话ijoke
2015-08-04
Google Play services com.google.android.gms-7.8.93_(2104405-448)
2015-07-28
android个税通2.0
2011-07-06
android 天气预报软件
2010-11-19
Android秒表计时器安装文件
2010-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人