как читать № 3 в EAGI, я пытался с дд, но не добился успеха - PullRequest
0 голосов
/ 19 июня 2019

Я хочу озвучить потоковую передачу между звездочкой и google ASR с помощью eagi, но когда я использовал eagi, не могу прочитать звуковой файл на fd 3, как я его читаю?

Я уже пробовал с помощью команды dd, но он показывает мне "dd: не удалось открыть '/ dev / fd / 3': нет такого файла или каталога"

transcribe.eagi code

 `$BLOCKS = 312;
$AUDIO_FILE = '/tmp/ddff.raw';
shell_exec("dd if=/dev/fd/3 count=$BLOCKS of=$AUDIO_FILE");`

1 Ответ

0 голосов
/ 20 июня 2019

Вам лучше использовать какой-нибудь высокоуровневый интерфейс, например https://github.com/sangoma/phpagi.. Они отображают аудиопоток как $ audio. Они используют следующую логику для открытия аудиопотока:

    if(file_exists('/proc/' . getmypid() . '/fd/3')) {
        // this should work on linux
        $this->audio = fopen('/proc/' . getmypid() . '/fd/3', 'r');
    } elseif(file_exists('/dev/fd/3')) {
        // this should work on BSD. may need to mount fdescfs if this fails
        $this->audio = fopen('/dev/fd/3', 'r');
    } else {
        $this->conlog('Unable to open audio stream');
    }
...