如何在eagi中阅读#3,我尝试了dd,但未成功

时间:2019-06-18 21:36:23

标签: speech-recognition asterisk gcloud

我想使用eagi在星号和Google ASR之间进行语音流传输,但是当我使用eagi时,无法读取fd 3上的声音文件,我该如何读取?

我已经尝试了使用dd命令,但显示给我的是     “ dd:打开'/ dev / fd / 3'失败:没有这样的文件或目录”

transcribe.eagi代码

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

1 个答案:

答案 0 :(得分:0)

您最好使用一些高级界面,例如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');
    }