上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 52 下一页
摘要: 在最初的代码testWriteByte中,创建完AudioTrack对象后,调用了AudioTrack对象的write函数实现播放。今天就来看看write函数的实现。*****************************************源码************************************************* public int write(byte[] audioData,int offsetInBytes, int sizeInBytes) { if ((mDataLoadMode == MODE_STATIC) ... 阅读全文
posted @ 2011-10-12 11:24 andriod2012 阅读(3070) 评论(0) 推荐(0) 编辑
摘要: 发现以前写的东西,对调用函数的展开放在了函数的前面,导致不方便找到原来代码及设置的函数参数。以后打算稍作改动,把对被调函数的展开放在原代码的后面,这样看起来应该方便些。闲言少叙,跳入代码。前两天看AudioTrack创建的时候,我们看到了AudioHardwareALSA::openOutputStream,并没有继续往下看。今天就看看函数AudioHardwareALSA::openOutputStream的实现。*****************************************源码*********************************************** 阅读全文
posted @ 2011-10-11 16:53 andriod2012 阅读(1646) 评论(0) 推荐(0) 编辑
摘要: 在看AudioTrack代码的时候,我们看到,要创建一个AudioTrack对象,需要指定一个StreamType。今天我们只把stream type相关的代码抽取出来,详细看看stream type相关的东东。java层的代码就不看了。从函数android_media_AudioTrack_native_setup开始说起。static int android_media_AudioTrack_native_setup(JNIEnv *env, jobject thiz, jobject weak_this, jint streamType, jint sampleRateI... 阅读全文
posted @ 2011-10-07 22:53 andriod2012 阅读(1405) 评论(0) 推荐(0) 编辑
摘要: AudioTrack的使用示例中,用到了函数getMinBufferSize,今天把它倒出来,再嚼嚼。*****************************************源码************************************************* static public int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat) { int channelCount = 0; switch(channelConfig) { ... 阅读全文
posted @ 2011-09-29 21:58 andriod2012 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 计划从接口的使用,开始分析Audio相关源码。此处的代码为Android中自带的测试代码。由于本人惰性,不打算将所有函数全部细说。主要函数,会拿来细细品味;本人认为非主要的函数,将一笔带过。主要非主要,是从本人当前项目的需要来看的。*****************************************源码*************************************************public void testWriteByte() throws Exception { // constants for test final S... 阅读全文
posted @ 2011-09-29 17:43 andriod2012 阅读(2187) 评论(0) 推荐(0) 编辑
摘要: 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一.反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。具体步骤:首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成 阅读全文
posted @ 2011-08-16 23:36 andriod2012 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1、继承自BinderService<AudioFlinger>和BnAudioFlinger。2、定义了一些枚举常量。hardware_call_state : AUDIO_HW_OUTPUT_OPEN等track_state : RESUMING等3、类 PlaybackThread : public ThreadBase中用到的常量: enum type { MIXER, DIRECT, DUPLICATING }; enum mixer_state { MIXER_IDLE, MIXER_TRACKS_ENABLED,... 阅读全文
posted @ 2011-08-15 09:50 andriod2012 阅读(2072) 评论(0) 推荐(0) 编辑
摘要: 1、白手起家,没有父类。2、定义了一堆枚举,包括stream类型,音频格式,音频channel等。3、函数get_audio_flinger中,会获取AudioFlinger,然后创建一个AudioFlingerClient对象,并调用AudioFlinger的函数registerClient注册该AudioFlingerClient。4、接下来,函数的实现,基本上都是通过调用AudioFlingerClient的函数来实现的。包括(列的不全):muteMicrophoneisMicrophoneMutedsetMasterVolumesetMasterMutegetMasterVolumeg 阅读全文
posted @ 2011-08-11 18:16 andriod2012 阅读(3460) 评论(0) 推荐(0) 编辑
摘要: 翻译自:http://developer.android.com/guide/topics/media/index.htmlMediaAndroid框架支持各种普通media类型的编解码,因此你可以很容易地把音频,视频和图片整合到你的应用程序中。通过使用MediaPlayer的接口,你可以播放各种音视频文件,包括应用程序中的资源(原生资源),文件系统中的独立文件,或者来自网络连接的数据流。如果硬件支持,你还可以使用MediaRecorder接口录制音视频。注意,模拟器不包含获取音视频的硬件,不过真正的移动设备可能会提供这项功能。本文档将告诉你如何与用户和系统交互,以开发一个高性能,和良好用户体 阅读全文
posted @ 2011-08-11 16:01 andriod2012 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.chinaunix.net/space.php?uid=20564848&do=blog&cuid=4879611、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库 svn commit -m 阅读全文
posted @ 2011-08-09 22:09 andriod2012 阅读(163) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 52 下一页