摘要:
在最初的代码testWriteByte中,创建完AudioTrack对象后,调用了AudioTrack对象的write函数实现播放。今天就来看看write函数的实现。*****************************************源码************************************************* public int write(byte[] audioData,int offsetInBytes, int sizeInBytes) { if ((mDataLoadMode == MODE_STATIC) ... 阅读全文
摘要:
发现以前写的东西,对调用函数的展开放在了函数的前面,导致不方便找到原来代码及设置的函数参数。以后打算稍作改动,把对被调函数的展开放在原代码的后面,这样看起来应该方便些。闲言少叙,跳入代码。前两天看AudioTrack创建的时候,我们看到了AudioHardwareALSA::openOutputStream,并没有继续往下看。今天就看看函数AudioHardwareALSA::openOutputStream的实现。*****************************************源码*********************************************** 阅读全文
摘要:
在看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... 阅读全文