我们正在使用离子框架构建一个练习应用程序,它需要按顺序播放多个音频文件,每个音频文件之间有特定的间隔。我们得到了这个工作。现在我们需要将音频文件加入单个文件中。
示例:File_1(长度为4分钟),File_2(长度为3分钟)。我们需要一个新的组合单音频文件,长度应为10分钟(File_1 + 3分钟静音+ File_2)
有没有办法在使用angular或cordova的客户端移动应用程序中获得此功能?
答案 0 :(得分:6)
基本技术步骤:
如果您使用的是node.js,那很容易
这个article描述了node.js上的基本mp3文件串联
注意,这是非常黑客的方式,你可能会遇到很多限制(应用程序速度,电池消耗,本地存储限制等),你仍然不会有单个文件,而是单一格式。
并使用自定义格式,如
var CustomFile = function(array_of_base64_files){
var prepared_files = [];
for (var i = 0; i < array_of_base64_files.length; i++) {
var file = array_of_base64_files[i];
prepared_files.push({
created: Date.now(),
order: i,
base64: file
});
};
this.export = function(){
return prepared_files;
}
};
CustomFile
window.URL.createObjectURL(formBlob);
以便HTML5音频可以播放答案 1 :(得分:3)
您可以创建一个cordova插件来管理javascript图层中的concat文件,但是真正将它们连接到本机层。
关于音频合并的其他有趣问题(仅限Android):