如何将.wav数据转换为.mp3并在Meteor应用程序中播放音频

4

我有一个Meteor调用,它以文本作为参数并返回该特定文本的.wav数据。现在我需要将其转换为.mp3并在我的Meteor应用程序中播放该音频。我该如何做?

Meteor.call("watsonaudio",wusername,wpassword,text, function(error, results) {
        console.log("Insideeeeee");
        if(results){
            console.log("resultsss",results.content);
            var audio = new Audio(results.content);
             //audio.src = results.content;
            audio.play();
            console.log("audio played");
        }

    });

在上述代码中,results.content包含类似(RIFF����WAVEfmt ....)的.wav数据。现在我该如何让它播放?
1个回答

0

如果您只是想播放“wav”音频,那么您可以使用HTMLAudioElement接口(这似乎是您目前正在使用的)或howler.js。然而,某些Internet Explorer版本无法播放“wav”文件,因此您需要先转换为其他格式。

由于您特别提到要转换为“mp3”,因此可能已经遇到了IE的“wav”限制。请查看以下示例,详细介绍了几种不同的方法。

  1. 使用Recordmp3JS
  2. 使用RecorderJS和libmp3lame.js
此外,需要注意的是,这些解决方案都与 Meteor 没有直接关系,因为你试图解决的问题实际上与 Meteor 没有任何关系。在寻找解决方案时,请记住这一点,以便在搜索时不会不必要地限制自己。
最后,我强烈建议您考虑在服务器上执行“wav”到“mp3”的转换,因为您已经去那里获取声音数据了。将未压缩的“wav”数据传输到客户端没有意义,而可以发送压缩的“mp3”数据。

好的@jordan。谢谢你终于回复了。根据你的建议,我正在尝试将音频作为响应从我的Node.js应用程序中下载。我只能部分成功。音频已保存在我的项目文件夹中,但我无法下载它。你能帮忙吗? - user7350714
你是想下载音频文件还是音频数据流? - jordanwillis
音频文件(.mp3)目前正在保存到我的本地项目文件夹中。 - user7350714
我想让它可以被下载 - user7350714
reader.on('format', function (format) { console.log(' 文件读取成功'); var writer = new wav.FileWriter('output.wav', { channels: 1, sampleRate: 22050, bitDepth: 16 }); reader.pipe(writer); console.log('文件写入成功'); writer.pipe(res); }); tempaudio.pipe(reader); - user7350714
以上是我如何将文件保存到本地的方法。但我无法下载它。 - user7350714

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接