Javascript 如何从浏览器将UINT8阵列缓冲区写入媒体文件格式?

Javascript 如何从浏览器将UINT8阵列缓冲区写入媒体文件格式?,javascript,file-io,binary-data,typed-arrays,Javascript,File Io,Binary Data,Typed Arrays,在浏览器中运行的javascript代码中,我将视频解析为单独的音频和视频流缓冲区。音频和视频帧都是UINT8阵列缓冲区的形式,我想将其写入.aac/.mp4或其他媒体格式文件中的磁盘,这些文件应该可以由VLC或其他媒体播放器播放。我在stackoverflow上找到了一些答案,关于将键入的数组写入磁盘上的二进制格式文件,但我需要保存的文件是正确的媒体文件。如何用javascript将内存中的TypedArray写入磁盘上的音频/视频文件。函数下载(文本、名称){ function downlo

在浏览器中运行的javascript代码中,我将视频解析为单独的音频和视频流缓冲区。音频和视频帧都是UINT8阵列缓冲区的形式,我想将其写入.aac/.mp4或其他媒体格式文件中的磁盘,这些文件应该可以由VLC或其他媒体播放器播放。我在stackoverflow上找到了一些答案,关于将键入的数组写入磁盘上的二进制格式文件,但我需要保存的文件是正确的媒体文件。如何用javascript将内存中的TypedArray写入磁盘上的音频/视频文件。

函数下载(文本、名称){
function download(text, name) {


    var a = document.createElement("a");
    var buf = str2ab(text);
    var fileNew = new Blob([buf], {
        type: "image/jpeg"
    });
    a.href = URL.createObjectURL(fileNew);
    a.download = name;
    a.click();

}

function str2ab(str) {
  var buf = new ArrayBuffer(str.length);
  var bufView = new Uint8Array(buf);
  for (var i=0, strLen=str.length; i<strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  return buf;
}
var a=document.createElement(“a”); var buf=str2ab(文本); var fileNew=newblob([buf]{ 键入:“图像/jpeg” }); a、 href=URL.createObjectURL(fileNew); a、 下载=名称; a、 单击(); } 功能str2ab(str){ var buf=新阵列缓冲区(str.length); var bufView=新的UINT8阵列(buf); for(var i=0,strLen=str.length;i
函数下载(文本,名称){
var a=document.createElement(“a”);
var buf=str2ab(文本);
var fileNew=newblob([buf]{
键入:“图像/jpeg”
});
a、 href=URL.createObjectURL(fileNew);
a、 下载=名称;
a、 单击();
}
功能str2ab(str){
var buf=新阵列缓冲区(str.length);
var bufView=新的UINT8阵列(buf);
对于(变量i=0,strLen=str.length;i