我有一个 HTML页面,它有两个音频文件ABC.mp3为30秒,XYZ.mp3为15秒。我需要以这样的方式组合这两个文件:我得到一个30秒(而不是45秒)的新文件PQR.mp3,其中一个文件重叠/合并到另一个。 任何类型的插件,javascript等都会有所帮助,保持HTML和HTML5的正确性。
答案 0 :(得分:1)
简单回答:不是.Javascript和HTML5都没有能力做到这一点。您将需要服务器端工具来执行此操作。例如,在MP3的情况下为ffmpeg和LAME。
如果您确实需要在HTML基础上进行此类操作,唯一的方法是将这些程序绑定到php脚本或NodeJS服务器,然后启动作业以执行您想要执行的操作。然而,您必须编写bash脚本或cronejobs才能这样做。
修改强>
对于nodeJS,您需要编写自己的节点服务器应用程序。然后,应用程序应该使用socketIO和node-fluent-ffmpg,它也有跛脚。该应用程序可能看起来像这样
服务器:的
var io = require('socket.io').listen(80);
var exec = require('child_process').exec;
io.sockets.on('connection', function (socket) {
socket.on('mergeFiles', function (data) {
var firstFile = data.firstFile;
var secondFile = data.secondFile;
//do ffmpg stuff by executing a shell script
execString = "./yourscript.sh " + firstFile + " " + secondFile
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec(execString , puts);
});
客户端:的
<script src="/socket.io/socket.io.js"></script>
<script>
var firstFile = ABC.mp3;
var secondFile = XYZ.mp3;
var socket = io.connect('http://localhost');
socket.emit('mergeFiles', { firstFile: firstFile, secondFile: secondFile });
</script>