Показать сообщение отдельно
Старый 16.09.2014, 13:04   #506
tsynik
Старший Пользователь
 
Регистрация: 17.03.2011
Город: Moscow
Регион: 77, 97, 99, 177
Машина: Alfa Romeo
Сообщений: 322
tsynik has a spectacular aura abouttsynik has a spectacular aura abouttsynik has a spectacular aura about
По умолчанию

Цитата:
Сообщение от sirota Посмотреть сообщение
Спосибо понятно.... хоть кое что.
Вот еще офф. документация по настройке поддерживаемых частот и многоканального звука в Android 4.1+ для разных устройств: Android Audio. В частности, как включить его для HDMI выхода посредством audio_policy.conf

Multi-channel support

If your hardware and driver supports multichannel audio via HDMI, you can output the audio stream directly to the audio hardware. This bypasses the AudioFlinger mixer so it doesn't get downmixed to two channels.

The audio HAL must expose whether an output stream profile supports multichannel audio capabilities. If the HAL exposes its capabilities, the default policy manager allows multichannel playback over HDMI.


То же самое в равной мере относится и к устройствам, подключенным по USB, так как для Android HAL они все одинаковые ;-)

А вот библиотека usbaudio.default.so должна быть дописана для поддержки многоканального вывода по USB, как это сделано для HDMI.

Либо нужно жестко переопределять структуру

struct pcm_config pcm_config = {
.channels = 2,
.rate = 44100,
.period_size = 1024,
.period_count = 4,
.format = PCM_FORMAT_S16_LE,
};

на нужное кол-во каналов и битность под конкретное устройство (не уверен, что будут взяты значения из audio_policy.conf для блока usb).

Можно сделать автоопределение наличия карты и её допустимых параметров при открытии потока воспроизведения через tinyalsa, но это совсем другая история ;-)

Последний раз редактировалось tsynik; 16.09.2014 в 13:52.
tsynik вне форума   Ответить с цитированием