Приложение ALSA для чтения и воспроизведения файла WAV на Raspberry Pi

Попытка изучить звуковые слои ALSA, чтобы в конечном итоге написать драйвер устройства ALSA для платформы Raspberry Pi.Начав с простого, я склеил различные образцы с сайта проекта ALSA и других онлайн-источников, чтобы сделать самое простое: прочитать файл WAV и воспроизвести его на звуковом устройстве по умолчанию.Я не могу заставить работать этот простой пример C.Я использую libsndfile для всего чтения /декодирования заголовков WAV-файлов.Я проверил, что образцы, которые я считываю в буфер, верны (проверены первые 400 тысяч образцов того, что программа читает, с приложением sndfile-to-text, которое выгружает образцы значений в текстовый файл).Итак, я знаю, что мой буфер содержит правильные данные, проблема должна быть в том, как я передаю их API ALSA.При запуске издает звук только в правом канале, а искаженный /мутный - едва различимый.Кстати, приложение "aplay" отлично воспроизводит тот же файл WAV и сообщает, что файл имеет 16-битную подписку LE, 44100 Гц, стерео, что также соответствует тому, что сообщает мое приложение.Запускаем это на Raspberry Pi.Я сократил программу C до минимума, чтобы сэкономить место, но я проверил правильные коды возврата для всех вызовов API.Почему это простое приложение ALSA не воспроизводит правильный звук?
7 голосов | спросил Mark McMillan 6 Jam1000000amTue, 06 Jan 2015 06:34:54 +030015 2015, 06:34:54

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132