我想使用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");`
答案 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');
}