android call and audio】的更多相关文章

from://http://blog.csdn.net/thl789/article/details/7422931 Android是多任务系统,Audio系统是竞争资源.Android2.2之前,没有内建的机制来解决多个程序竞争Audio的问题,2.2引入了称作AudioFocus的机制来管理对Audio资源的竞争的管理与协调.本文主要讲解AudioFocus的使用. 按照AudioFocus的机制,在使用Audio之前,需要申请AudioFocus,在获得AudioFocus之后才可以使用A…
Audio 输出通道有很多,Speaker.headset.bluetooth A2DP等.通话或播放音乐等使用Audio输出过程中,可能发生Audio输出通道的切换.比如,插入有线耳机播放音乐时,声音是从耳机发出的:而此时拔出耳机,Audio输出通道会发生切换.如果音乐播放器不做处理,Audio输出是被切换到扬声器的,声音直接从Speaker发出.我们在编写程序时,要捕获并按照需求来处理这样的事,本文就是讲解如何处理的. Android中可以通过android.media.AudioManag…
我在前面的文章(Android智能手机上的音频浅析)中说过Android手机上有一块专门用于音频处理的DSP,它的特点是频率低(一般几百MHZ).内部memory小(通常不超过100k word).要想让Audio DSP上放下更多的内容以及能流畅的运行,要有一些应对措施.今天就聊聊这些措施. 1,频率低的应对措施 由于DSP的频率低,要想软件能流畅的运行,就得把运行时的load降下来.主要的措施有两种,定点化和load优化.先看定点化. DSP有定点DSP和浮点DSP之分.一般来说,定点DSP…
1.HIDL 的概念 HIDL 读作 hide-l,全称是 Hardware Interface Definition Language.它在 Android Project Treble 中被起草,在 Android 8.0 中被全面使用,其诞生目的是使 Android 可以在不重新编译 HAL 的情况下对 Framework 进行 OTA 升级.  使用 HIDL 描述的 HAL 描述文件替换旧的用头文件描述的 HAL 文件的过程称为 * HAL 的 binder 化(binderizati…
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system ConnCtl *:s android audio (http://blog.csdn.net/myspor/article/details/6278788) android Phone 距离感应器锁的实现(http://blog.csdn.net/nadiee/article/details/17219903) android -- 蓝牙 bluetooth (五)接电话与听音…
音频流, 音频策略, 输出设备之间的关系 只针对 AudioManager.STREAM_VOICE_CALL 音频流类型进行分析 涉及到的类: hardware/libhardware_legacy/audio/AudioPolicyManagerBase.cpp frameworks/base/media/java/android/media/AudioManager.java frameworks/base/media/java/android/media/AudioService.jav…
1 Direct Audio TX代码流程 1.1 从Host到FW 1.1.1 代码流程 htc.c::HifLayerRecvCallback//从HIF_USB_CONTEXT获取数据中断,具体问俊奇 -> htc.c::_HTCPipeIndicateRecvMgs//HTC_SERVICE.ProcessRecvMsgMultiple = htt_tgt_hif_svc_h2t_input -> htt_tgt_hif_svc.c::_htt_tgt_hif_svc_h2t_inpu…
http://blog.csdn.net/u014310046/article/details/54133688 本文将从主mic录音到播放流程来进行学习mtk audio系统架构.  在AudioFlinger::RecordThread::threadLoop中会调用mInput->stream->read读取数据,stream就是audio_stream_in_t类型的指针,在执行open_input_stream时被初始化,先在它其实是一个legacy_stream_in类型的指针.当…
在文件kernel/sound/soc/soc-core.c中,函数soc_bind_dai_link引入了一个新定义的宏CODEC_NAME_CMP,这个新玩意导致了后面的strcpy(p_codec_name,codec->name);可能出现NULL pointer,原因是p_codec_name可能会被后面的strsep(&p_codec_name,".")修改.改正的方法很简单,在strcpy之前重复初始化一次就OK了: #ifdef CODEC_NAME_CM…
音频参数集成(具体参数由硬件提供) 1.ring/key/mic/fmr/speech/sidetone/media/matv增益: \mediatek\custom\k9\cgen\inc\audio_volume_custom_default.h 2.默认音量等级修改:(INPUT_FIR_COEFF /OUTPUT_FIR_COEFF) \mediatek\custom\prj\cgen\inc\med_audio_default.h \mediatek\custom\prj\cgen\i…