Портирую (переношу) программу с iMX53. Программа на С++, среда QT. Звуковые wav-файлы проигрывались через: /usr/bin/aplay file.wav. Регулировка уровня выполнялась через библиотеку asound (libasound.so). На SK-iMX6-SODIMM есть эта библиотека, но звук не регулируется.
Пробовал регулировать звук через amixer, alsamixer, - эффект тот же. Буду рад любому совету.
Buildroot собран на базе Buildroot-2014.08-sk-3.10.17 из виртуальной машины iMX6_Libuntu_build_mashine.rar, которая была скачена с ftp starterkit.dyndns.org. alsamixer цветными столбиками отображает три регулируемых параметра: Sidetone, LineInp и Digital. Sidetone регулируется -18dB, -15dB, -12dB, -9dB, -6dB. Digital регулируется от -121dB до +6dB. Output mixer не регулируется, Playback регулируется: 32KHz, 44.1KHz, 48KHz.
При любых комбинациях уровень звука при проигрывании программой aplay одинаковый. Что я неправильно делаю ?
Без понятия, что Вы делаете ...
Я надеюсь заметили что там в системе три звуковых устройства, соответственно и регулировки для всех свои (это я к тому что в alsamixer выбираете).
Добавил в корневую madplayer (нет wav файлов), залил - все на месте, alsamixer регулирует громкость.
Для чистоты эксперимента нарыл WAV файл, проверил с aplay - все на месте, все регулируется.
Вы меня извините, но у меня ощущение, что мы говорим о разных imx-устройствах. У меня проблема с SK-iMX6-SODIMM на материнской SK-iMX6-MB-SODIMM. Не понимаю о каких трех звуковых устройствах идет речь. Мой alsamixer видит:
1. Card: imx-tlv320
2. Card: imx-spdif.
Первая карта(card) или устройство (не знаю как правильно назвать), под названием imx-tlv320, имеет три ручки для регулировки:
1. Sidetone
2. Line Inp
3. Digital.
Ни один из регуляторов на уровень звука не влияет.
Регуляторы первого устройства отображаются при запуске
alsamixer --card=0
(или без параметра, видимо 0 -default)
Вторая карта(устройство) , под названием imx-spdif, вообще не имеет ручек регулирования. При запуске
alsamixer --card=1
выдает, цитирую: "This sound device does not have any controls"
При запуске
alsamixer --card=2
выдает "invalid card index".
Извинте, но я в обсуждении более не участник, т.к. до сих пор не удосужились "накатить" оригинальные прошивки (без каких-либо своих правок) и доказываете наличие глюка ...
Попробовал второй вариант buildroot-а с вашего ftp (из виртуальной машины под названием SK-iMX6-SODIMM_linux_build_mashine), видимо это и есть "родные прошивки". Результат, к сожалению, тот же. Уровень звука не регулируется. В этой же прошивке увидел демо-вариант аудио-плейера, находится он в /bin/starterkit/qt_player. Реализован он на базе пакета phonon. В своей программе попробовал аналогичный способ проигрывания wav-файлов и регулировки уровня звука, - РАБОТАЕТ. Нас этот вариант вполне устраивает. Будем считать тему закрытой.