通过Ajax获取音频文件
Fetching audio file via Ajax
我需要使用Ajax获取音频文件,并以字节数组的形式接收它。我的后端是PHP。
当前我正在使用
<?php
echo file_get_contents("./mainFile.mp3");
?>
这让我以字节数组的形式返回音频文件。但是我如何在Javascript中接收它作为字节数组呢?我在SO
上引用了这个链接但这似乎不是正确的方法。谁能给点建议??
保存一个名为:raw_audio.php的文件
<?php
echo file_get_contents("./mainFile.mp3");
?>
现在从ajax调用加载php文件。
$.ajax({
url:'raw_audio.php',
success: function(data)
{
var raw=data;
}
});
您需要像这样将overrideMimeType()
转换为"text/plain; charset=x-user-defined"
:
$.ajax( {
url: "php.php",
beforeSend: function( xhr ){
xhr.overrideMimeType( "text/plain; charset=x-user-defined" );
},
success: function( text ) {
var i, l = text.length, bytes = [];
for( i = 0; i < l; ++i ) {
bytes.push( text.charCodeAt(i) & 0xFF );
}
console.log( bytes.length );
}
});
请注意,这是非常徒劳的,javascript中的位操作在字符串+charCodeAt上非常快。
text/plain并不重要,重要的是字符集
尝试使用'arraybuffer'响应类型:
request = new XMLHttpRequest();
request.responseType = "arraybuffer";
// ...
您要做的是通过ajax以"二进制"方式读取文件。我刚刚在谷歌上搜索了二进制ajax,这是出现的第一个结果…不确定它是否有用……http://nagoon97.wordpress.com/2008/04/06/reading-binary-files-using-ajax/
相关文章:
- 如何播放部分音频文件
- javascript:发送带有音频文件的POST,然后重定向到新页面
- Javascript::通过HTML5音频播放器播放列表播放多个音频文件
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 正在预加载jPlayer要使用的音频文件
- HTML 5<音频>-在特定时间点播放文件
- 将Base64音频文件Mp3解码为可播放的Mp3
- 更改音频速度,然后另存为新文件
- Blueimp jQuery文件上传音频/视频限制
- 在播放完成之前再次单击播放音频文件
- 在 Windows 现代(地铁)UI 应用中存储图像文件和音频文件的方法是什么?
- 在 JavaScript 中对音频文件进行计时不准确
- 如何在html5/JS中只预加载音频文件的一部分
- 单个页面上的多个音频文件javascript
- 如何将timbre.js缓冲区导出为.wav或任何其他音频文件格式
- JavaScript/HTML5音频:在Android Chrome中播放用户通过文件选择器加载的mp3文件
- 从PHP脚本获取音频文件时,更改JavaScript音频对象的当前时间
- 如何使用Node.js将音频样本数组写入wav文件
- 如何用一个html5音频播放器播放多个音频文件
- 可以't在手把文件中设置音频src