Как я могу отправить свой аудиофайл на стандартный вывод с помощью библиотеки libsox? - PullRequest
1 голос
/ 22 апреля 2019

Я устанавливаю аудиопрограмму на моей малине, используя libsox, библиотеку разработчиков SoX. И, например, мне нужно заставить его воспроизводить мой входной mp3-файл на моем выходе stdout, чтобы я мог слышать песню, когда мой динамик подключен к разъему jack малины.

Итак, я использовал этот код, но «-» в типе файла функции «sox_open_write ()» не переводит мою песню в стандартный вывод. Я получил эту ошибку:

нет обработчика для данного типа файла -' exe1: example1.c:99: main: Assertion in = sox_open_read (argv [1], NULL, >> NULL, "-") 'не удалось.

Вот код:

https://github.com/dmkrepo/libsox/blob/master/src/example1.c#L145

Я попытался вывести звук в другой файл, и он работает. Также попробовал взглянуть на функцию оригинального девелопера, сделанную на веб-сайте libsox fossies.

assert (out = sox_open_write (argv [2], & in-> signal, NULL, "-", NULL, NULL));

Например, я только что изменил один из параметров функции. В руководстве предполагается передача аудиофайла на вывод stdout. Но возникает ошибка

Я просто ожидаю, что программа воспроизведет одну песню.

...