2014-02-21 6 views
0

Я использую QNX нейтрино RTOS, я новичок в QNX. Я установил свой первый проект с некоторыми сообщениями IPC между двумя потоками.QNX Отбор микрофона и воспроизведение динамиков

Что я хочу сделать, это один поток в качестве микрофона «драйвер», который отображает входной сигнал от микрофона и сохраняет/отправляет его в виде пакетов PCM в другой поток, который воспроизводит его из динамика.

Итак, есть ли какие-либо библиотеки поддержки звука ?, что лучший способ добиться записи микрофонного входа и выхода динамиков?

ответ

1

Да, QNX поставляется со звуковой библиотекой.

аудио библиотека документируется, начиная с этого места (6,5 SP1 версия): http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fabout.html&cp=13_1

Ваша система QNX включает в себя утилиту (команда) под названием «волна» для воспроизведения .wav-файл и «waverec» для записывая звук с микрофона и сохраняя его в WAV-файле.

Вы можете использовать команды «use wave» и «use waverec» для получения информации о поддерживаемых параметрах командной строки.

документация включает в себя полный источник волны и waverec утилиты:

wave.c: http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fwavec.html

waverec.c: http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fwaverec.html

Рекомендуемый способ начать с записью звука и воспроизведение должно сначала иметь двоичные файлы 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, то вам необходимо добавить библиотеку в соответствующей обстановке.

Здесь вы можете отправить любые вопросы, которые могут возникнуть при работе с образцами.

+0

Большое спасибо Maverick (извините за поздний ответ, я был далеко за W/E). Я просто получил эти файлы и начну с ними играть. Я начал думать, что мне нужно получить аудио DDK, но я изо всех сил пытался установить это (некоторые проблемы с java), когда я закончил в пятницу ... это выглядит намного проще, я надеюсь :), я могу принять вас на предложение также задавать вопросы! –

+0

«Maverick, у меня QNX 6.4.0 (работа над обновлением до 6.5.0 sp1), поэтому я нашел файл waverec.c для этой версии. Я включил его в проект QNX c, но он не создается. fail на всех функциях asoundlib.h. Файл заголовка есть, но после прочтения некоторой документации, похоже, что фактическая библиотека не может быть отправлена ​​с QNX (некоторые проблемы с LGPL). Я искал в Интернете, но не могу см., как разрешить это ... любые идеи? –

+0

Аудиофункции определены в libasound, поэтому вам нужно связать с этим: я обновил сообщение с примерами командной строки, чтобы сделать это. Что касается аудио DDK, вам понадобится что если вы хотите разработать аудио драйвер.Аудио драйвер обычно является частью вашего BSP, и вам не нужно беспокоиться об этом. – maverick