我想使用 eagi
在星号和谷歌 ASR 之间进行语音流,但是当我使用 eagi 时,无法读取 fd 3 上的声音文件,我如何阅读它?
我已经尝试过使用 dd 命令,但它向我显示 "dd:无法打开'/dev/fd/3':没有这样的文件或目录">
转录.eagi 代码
`$BLOCKS = 312;
$AUDIO_FILE = '/tmp/ddff.raw';
shell_exec("dd if=/dev/fd/3 count=$BLOCKS of=$AUDIO_FILE");`
你最好使用一些像 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');
}