从 Web SQL 数据库检索音频并使用 Web 音频 API 播放
Retrieving audio from Web SQL Database and playing with Web Audio API
我有代码将ArrayBuffer(从XMLHttpRequest调用获取mp3作为arraybuffer)保存到Web sql数据库中,从返回对象ArrayBuffer的sql查询中检索它。但是,当我尝试解码音频数据或创建缓冲区时,我收到一个类型错误。
var buffer = audioContext.createBuffer(result.xtalk,false);
给出未捕获的类型错误:类型错误
如果我在结果中放一个警报.xtalk是对象ArrayBuffer
这是在 Mac 上的 Chrome 21.0.1180.75 中
我尝试创建一个 ArrayBuffer 并逐字节填充它,然后传递它 - 但这也没有用。
查看本教程。愿这会有所帮助
var dogBarkingBuffer = null;
var context = new webkitAudioContext();
function loadDogSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// Decode asynchronously
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
dogBarkingBuffer = buffer;
}, onError);
}
request.send();
}
请参阅以下链接:-http://www.html5rocks.com/en/tutorials/webaudio/intro/
还要对你正在接收的数组缓冲区对象执行"typeof"。Arraybuffer 有一个叫做 byteLength 的属性。
如果未定义,则表示从 sql 数据库收到的对象不是 arraybuffer 对象
参考:-https://developer.mozilla.org/en-US/docs/JavaScript_typed_arrays/ArrayBuffer
相关文章:
- javascript函数包含两个元素和web音频api
- 从 Web SQL 数据库检索音频并使用 Web 音频 API 播放
- 环形缓冲区 - Web 音频 API
- 多个音频播放器和 Web 音频 API
- 使用 Web 音频 API 设置侦听器方向
- 如何使用JQueryUI滑块控制web音频API振荡器参数,而无需经过HTML表单参数
- Web音频-AudioParam调度功能不起作用
- 转换Web音频API中的采样率
- Web音频API 24db筛选器
- 未垃圾收集Web音频MediaElementSource节点
- 用于视觉效果而非声音的 Web 音频筛选器
- 如何使用 Web 音频 API 访问输出缓冲区
- 使用 Web 音频 API 使用 start/noteOn 进行非法调用
- 在 Web 音频 API 中使用多个音频上下文是否存在相关问题
- 媒体记录器 API 通过 Web 音频 API(不是音频元素)播放
- 使用 Web 音频 API 过滤音频
- 在 Web 音频缓冲区中计划回调
- 在移动设备上使用 Web 音频 API 进行 Javascript 节拍检测
- 基本 Web 音频 API 不播放 mp3 文件
- Web 音频 API 的音量控制和缓冲问题