最近在为公司产品新增一个音频播放及整体波形预览的功能,首先需要的就是请求音频地址,将请求到的二进制原始数据转换为arrayBuffer类型,之后在通过Web Audio Api解码以此来生成波形展示所需数据,于是问题来了。
     如果用原生xhr是可以直接设置responseType属性的,但是因为是公司产品,底层封装的是jquery的ajax方法,然而$.ajax没有responseType属性设置,所以我们需要使用xhrFields,以此来设置原始xhr的key、value。

     

我需要的是arrayBuffer类型,于是可以如此设置:
     

        $.ajax({
			url: 'url',
			xhrFields: { responseType: "arraybuffer" },
		}).done((result) => {
			//	result 为arrayBuffer类型
		})

 

更多推荐

$.ajax中设置responseType