我正在尝试使用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) 我正在研究网络音频 API。我尝试使用 Web Audio API 录制音频文件,保存录制的块,然后使用 python matplotlib 绘制同一块的频谱。
播放的音频文件包含从 2KHz 到 20KHz 递增的频率。
chrome 的音频录制似乎是正确的,我可以通过音频频谱正确地看到它。
但是当从 safari 录制音频时,12 Khz 之后似乎有一个截止滤波器。
单击按钮时调用 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)