随笔分类 - Android_Audio
摘要:背景介绍AudioTrack与AudioFlinger之间的数据传输分为两种方式,MODE_STATIC与MODE_STREAM。MODE_STATIC:static方式适用于数据较小,实时性比较高的情形,比如ring,系统铃声等。这种模式下,是在AT端创建共享内存,一次性将数据copy到buffer中,然后传递到AF端。MODE_STREAM:stream方式适用于数据较大,media播放等更多其他的情况,也比较复杂。在这种模式下,共享内存是由AF创建的,然后通过生产者-消费者的模式,进行数据的传输。即AT是数据的生产者,AF是数据的消费者。这个数据读写的控制,是由struct audio_
阅读全文
摘要:Android4.2中目前支持的设备接口有以下几种(定义在AudioFlinger.cpp):1 static const char * const audio_interfaces[] = {2 AUDIO_HARDWARE_MODULE_ID_PRIMARY, //主音频设备,必须存在3 AUDIO_HARDWARE_MODULE_ID_A2DP, //蓝牙A2DP音频4 AUDIO_HARDWARE_MODULE_ID_USB, //USB音频,早期的版本不支持5 };数组中的常量又定义在/hardware/libhardware/include/audio.h中:#d...
阅读全文
浙公网安备 33010602011771号