Варианты функций между разными платформами при работе с аудиофайлами - PullRequest
0 голосов
/ 28 апреля 2018

Я следовал примеру программирования для написания небольшого приложения, детали самого приложения не важны. Проблема или беспокойство здесь в том, что в этом приложении провайдер использует функцию POSIX popen().

Строка кода выглядит следующим образом:

static FILE* fp = popen( "resample mr1789800 r48000 | aplay -fdat 2>/dev/null", "w" );

И они компилировали свой код с помощью g ++, я не знаю, какую версию они использовали.

Я работаю на платформе Windows 7 x64 в Visual Studio 2017 с компилятором, настроенным на последний составленный стандарт, все остальные параметры являются стандартными или стандартными. Это общий сценарий.

Весь остальной код в примере провайдера выглядит переносимым, это единственный фрагмент кода, который я видел, который является родным для функциональности POSIX.

Похоже, что они используют popen для загрузки файла во внешнюю программу, и, судя по приведенному выше коду, кажется, что программа основана на Unix aplay.

Если я пытаюсь имитировать это поведение в Windows с помощью Visual Studio, какие инструменты потребуются для использования?

Будет ли _popen() делать то же самое, значит, они почти эквивалентны? Если это так, то вторая половина вопроса: если aplay - это программа, открывающая аудиофайл, какие параметры доступны для меня, для окон, которые будут обрабатывать аудиофайл так же, как тот, который найден в типичной системе Unix? Если не; в чем разница между ними и куда мне идти отсюда?

...