有人知道,如果这是大多数Android(ARM)设备上的默认PCM格式吗?
2 channels
16 bit
Little Endian
潜在的“tinyalsa”可以处理
SNDRV_PCM_FORMAT_S32_LE
SNDRV_PCM_FORMAT_S8
SNDRV_PCM_FORMAT_S24_LE
SNDRV_PCM_FORMAT_S16_LE
但我无法想到Android使用不同的配置(?)。
Little Endian确信在ARM设备上。
两个频道怎么样?我发现无法播放单声道音频,因此我认为它总是转换为2个声道。
是否有支持多渠道的设备?
我对这些东西很新。
提前感谢您的帮助!
答案 0 :(得分:0)
一般来说,我会说16位小端,是的。通道数取决于应用程序请求的内容。虽然有些设备会在立体声配置中运行部分/全部输出线程,但与您在测试中发现的类似。如果您输出到单声道接收器(例如,许多设备只有一个扬声器),通常会通过模拟编解码器或DSP将其混合回单声道。(b)
许多设备不使用libtinyalsa。它们拥有自己的内核空间ALSA驱动程序的用户空间接口。例如,最近的Qualcomm平台使用自己的libalsa-intf进行大多数播放,而libtinyalsa仅用于USB音频播放(可能还有A2DP)。潜在的“tinyalsa”可以处理
就多声道支持而言,如果写入单声道/立体声接收器(即内置扬声器或3.5mm耳机),它可能会向下混合到立体声,可能借助虚拟器效果创建了假的环绕感。真正的环绕声仅限于支持它的接收器,即HDMI / MHL,可能还有USB。应该注意的是,即使在HDMI / MHL情况下,某些设备也会混音到立体声。