Я использую QNX нейтрино RTOS, я новичок в QNX. Я настроил свой первый проект с некоторыми сообщениями IPC между двумя потоками.
То, что я хочу сделать, — это иметь один поток в качестве «драйвера» микрофона, который сэмплирует входной сигнал с микрофона и сохраняет / отправляет его как пакеты PCM в другой поток, который воспроизводит его из динамика.
Итак, есть ли какие-либо библиотеки поддержки аудио? Каков наилучший способ записи микрофона и динамика?
Да, QNX поставляется с аудио-библиотекой.
Аудио библиотека документируется, начиная с этого места (версия 6.5 SP1):
http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fabout.html&ср = 13_1
Ваша система qnx содержит утилиту (команду) под названием «wave» для воспроизведения файла .wav и «waverec» для записи звука с микрофона и сохранения его в файл .wav.
Вы можете использовать команды «use wave» и «use waverec» для получения информации о поддерживаемых параметрах командной строки.
Документация включает полный источник утилит wave и waverec:
Рекомендуемый способ начать с аудиозаписи и воспроизведения — это сначала отправить файлы wave и waverec вместе с работающей системой. После этого соберите предоставленный исходный код, снова включите его, затем поймите и внедрите в свое приложение, возможно, после его удаления. (Поскольку образец является общим и, возможно, вы хотите жестко закодировать определенные функции, которые динамически настраиваются в образце).
Вам нужно создать ссылку на библиотеку libasound.so, чтобы создать примеры.
Минимальный пример командной строки (протестирован) для сборки wave.c для armlev7 и x86:
ntoarmv7-gcc wave.c -o wave -l asound
ntox86-gcc wave.c -o wave -l asound
Если вы строите с помощью IDE, вам нужно добавить библиотеку в соответствующих настройках.
Вы можете оставить здесь любые вопросы, которые могут возникнуть у вас при работе с образцами.
Других решений пока нет …