gpt4 book ai didi

php - 使用 PHP 中的 LAME 将 WAV 转换为 MP3

转载 作者:可可西里 更新时间:2023-11-01 13:54:49 25 4
gpt4 key购买 nike

我有 WAV 数据,我想使用 PHP 脚本即时将其转换为 MP3。 WAV 文件源自脚本,因此它不是作为文件开始的。

我可以这样运行:

exec( "lame --cbr -b 32k in.wav out.mp3" );

但这需要我先将 in.wav 写入磁盘,从磁盘读出 .mp3,然后在完成后清理。我不想那样做。相反,我将 wav 文件存储在 $wav 中,我想通过 LAME 运行它,以便将输出的数据存储在 $mp3 中。

我看到了对 FFMPEG PHP 库的引用,但我希望尽可能避免为此任务安装任何额外的库。

最佳答案

看来 proc_open() 正是我要找的。这是我编写和测试的代码片段,它完全符合我的要求:

地点:

  • $wav is the original WAV data to be converted.
  • $mp3 holds the converted MP3 data,
$descriptorspec = array(
0 => array( "pipe", "r" ),
1 => array( "pipe", "w" ),
2 => array( "file", "/dev/null", "w" )
);

$process = proc_open( "/usr/bin/lame --cbr -b 32k - -", $descriptorspec, $pipes );

fwrite( $pipes[0], $wav );
fclose( $pipes[0] );

$mp3 = stream_get_contents( $pipes[1] );
fclose( $pipes[1] );

proc_close( $process );

最终输出的数据与我运行 /usr/bin/lame --cbr -b 32k in.wav out.mp3 时相同。

关于php - 使用 PHP 中的 LAME 将 WAV 转换为 MP3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17905583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com