Javascript——将音频推送到移动设备(mobile Safari和Chrome)
Javascript -- push audio to mobile device (Mobile Safari and Chrome)
我编写了一些javascript,可以成功地在桌面上提取和播放音频文件。然而,我只是无法在移动设备上弄清楚这一点——这确实是我的意图。
现在对于桌面,我可以使用以下javascript推送和播放音频:
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', url);
audioElement.setAttribute('autoplay', 'autoplay');
$.get();
audioElement.addEventListener("load", function() {
audioElement.play();
}, true);
(其中url是我的网络服务器上的一个位置)
我读到手机上的音频需要初始用户操作才能激活,所以我尝试制作:
var audioElement = document.createElement('audio');
一个全局元素,然后在document.ready部分,当用户按下"工具"按钮时,我激活了音频:
$(document).ready(function() {
$("#toolButton").click( function () {
// Need a 'click' event to turn on sound for mobile devices
if (audio_init === undefined) {
audioElement.play();
}
audio_init = 1;
然而,这并不成功。
然后我再次尝试了网络音频,这个代码允许我在桌面浏览器上播放,但在手机上什么都没有:
var webaudio_play = function(url) {
ctx = new webkitAudioContext();
var req = new XMLHttpRequest();
req.open("GET",url,true);
req.responseType = "arraybuffer";
req.onload = function() {
ctx.decodeAudioData(req.response, function(buffer) {
var src = ctx.createBufferSource();
src.buffer = buffer;
src.connect(ctx.destination);
//src.start();
src.noteOn(0);
});
};
req.send();
}
我真的不知道下一步该去哪里。有人成功地将音频文件推送并播放到移动设备上吗?
请查看以下状态的答案:
HTML5音频在Android和iOS上有什么限制?
存在一些移动限制。
相关文章:
- 以编程方式选择文本Mobile Safari
- Mobile Safari、jQuery以及绑定到未来的DOM元素
- 禁用Mobile Safari中的同源策略
- iOS上的Mobile Safari在大页面上崩溃
- 在iPad上运行时,Mobile Safari中即将切换选项卡的Pagehide事件不会触发
- Mobile Safari在加载JS文件时挂起
- Mobile Safari是否清理DOM应用程序缓存?何时清理
- Mobile Safari (iPhone/iPad) 在动态插入大量 DOM 元素时崩溃
- UIWebview open URL in mobile safari using javascript
- jQuery $.get 不适用于 Phonegap 或 Mobile Safari 中的“本地”文件
- Mobile Safari 忽略了我的自动对焦 jQuery 事件
- JavaScript 方法在 Mobile Safari 与 Android Chrome 中无法一致执行
- Javascript函数在IE中工作,但在FF,Chrome或Mobile Safari中不起作用
- JavaScript 在 mobile-safari 上失败,当 Web 检查器关闭时
- 绑定到触摸启动事件,导致自动对焦集中在Mobile Safari中的任何单击上
- Mobile Safari-Javascript打开选项卡,不会失去对当前页面的关注
- 是否可以在Mobile safari中允许跨站点脚本(XSS)
- 为什么不't此页面的javascript可在Mobile Safari上使用
- Mobile Safari iOS无法在第一页访问时加载多个小文件(如图像或JavaScript)
- Mobile Safari - event.target in touch event