相关疑难解决方法(0)

iPhone Chrome浏览器中的BLOB对象未下载文件

我正在尝试使用ajax调用从服务器(jsp)下载pdf文件,我从服务器获取Base 64格式的数据,然后将其转换为ArrayBuffer,然后使用blob对象下载,以下代码对每种浏览器都适用,除了iPhone中的Chrome甚至iPhone的Safari中都可以正常使用,我不知道这是什么问题,对此的任何帮助将不胜感激

function hello(id)
    {
    //alert(id);

    //alert(id);
    var ln="en";
                $.ajax({
                  type:'post',
                 url:'ajaxurl',
                  data:{lang:ln,num_srno:id},
                  success:function(data){
                  //alert(data);

                /*  var bytes = new Uint8Array(data); // pass your byte response to this constructor

    var blob=new Blob([bytes], {type: "application/pdf"});// change resultByte to bytes

    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="myFileName.pdf";
    link.click();*/
    var sampleArr = base64ToArrayBuffer(data);
    saveByteArray("Sample Report", sampleArr);

                      }

                    });
    }

    function base64ToArrayBuffer(base64) {
        var binaryString = window.atob(base64);
        var binaryLen = binaryString.length;
        var bytes = new Uint8Array(binaryLen);
        for (var i = 0; i < binaryLen; i++) {
           var …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-chrome blob ios

7
推荐指数
1
解决办法
4070
查看次数

使用 safari (Macos) 录制音频似乎在 12 KHz 左右中断

我正在研究网络音频 API。我尝试使用 Web Audio API 录制音频文件,保存录制的块,然后使用 python matplotlib 绘制同一块的频谱。

播放的音频文件包含从 2KHz 到 20KHz 递增的频率。

chrome 的音频录制似乎是正确的,我可以通过音频频谱正确地看到它。

从 Chrome 录制的音频文件

但是当从 safari 录制音频时,12 Khz 之后似乎有一个截止滤波器。

从 Safari 录制的音频文件

单击按钮时调用 Web 音频代码函数 start_rec()

var samplerate = 48000;
var audio_engine_var = {};


var samples = {
    audio_samples: [],
    samplerate: samplerate
}

function start_rec() {
    audio_engine_var.context = new AudioContext({sampleRate:samplerate});
    navigator.mediaDevices.getUserMedia(
        { audio: {
            echoCancellation: false,
            sampleRate: 48000
        } }
    ).then( function (stream) {
        audio_engine_var.stream = stream;
        audio_engine_var.track = audio_engine_var.stream.getAudioTracks()[0];
        audio_engine_var.track.applyConstraints(
            {
                echoCancellation: false,
                sampleRate: 48000
            }
        );
        audio_engine_var.scriptProcessor = audio_engine_var.context.createScriptProcessor(1024, …
Run Code Online (Sandbox Code Playgroud)

safari audio web-audio-api

7
推荐指数
0
解决办法
211
查看次数

标签 统计

audio ×1

blob ×1

google-chrome ×1

ios ×1

javascript ×1

jquery ×1

safari ×1

web-audio-api ×1