在安卓上播放mp3的黑客
Hack for playing mp3 on Android?
我有一个mp3文件,我想在打开网站时自动播放。在同一页面上,有一个按钮(图标),如果单击它,它会"剪切"声音(实际上是暂停它),如果您再次单击它,声音会播放(从它停止的地方)等等......
网页:
<body>
...
...
<audio id="sound" src="<?php echo $song; ?>" autoplay="autoplay" loop="loop"></audio>
<div id="sound_button" onClick="playpause()"><img id="snd_btn" src="/images/On32.png" /></div>
...
...
JavaScript:
function playpause() {
var snd = document.getElementById("sound");
var snd_btn = document.getElementById("sound_button");
snd.muted = !snd.muted;
//var snd_mut = 0;
if(snd.muted){
snd_btn.innerHTML = "<img src='/images/Off32.png' />";
snd.pause();
}
else {
snd_btn.innerHTML = "<img src='/images/On32.png' />";
snd.play();
}
//if (snd_mut != 0) {
//snd.innerHTML="<embed src='<?php echo $song; ?>' hidden='true' autostart='true' loop=true>";
//snd_mut = 0;
//}
//else {
//snd.innerHTML="<embed src='<?php echo $song; ?>' hidden='true' autostart='false' loop=true>";
//snd_mut = 1;
//}
}
在Windows中,在所有主要浏览器(IE,FF,Chrome,Opera和Safari)上,打开网站时一切正常:要播放的歌曲会自动启动并且可以听到(无需任何其他操作)。
相反,在Android上,无论是在操作系统的隐式浏览器上,还是在FF和Chrome上,我都面临以下情况:我必须单击按钮(好像我想停止声音),然后再次单击它(好像我想再次听到它)以便歌曲开始。
我不明白为什么,尤其是为什么这只发生在Android上。 如果Android不支持mp3格式,我认为什么都不应该听到(尽管上面描述了一些小"技巧")。
有没有黑客攻击?我是否错过了什么或我能做些什么来解决问题?
非常感谢。
附言。你认为直接在javascript中创建和操作元素会有所帮助吗?- 虽然我也不太知道如何做到这一点...
原因是,移动浏览器是以这样一种方式构建的,它们只允许播放声音或其他通过JS控制的东西,而不是自动的。
有一种破解方法可以解决这个问题,您可以使用一个库,例如使用声音精灵的"Howler.js"。因此,您可以在开始时创建一个静音的声音文件。让用户单击按钮以访问应播放声音的网站。通过单击按钮,您可以"初始化"声音文件。您可以使用 Howler 播放声音精灵的一秒无声。此时,声音的播放是用户操作,使用 Howler,您现在可以在所需长度的任何位置启动声音精灵文件,并且它仍然被识别为用户操作。
我希望我能解释一下,这样你就能理解我的意思。
- 多个mp3下载链接到一个zip文件,用于下载javascript或jquery
- 我有可能防止黑客使用网络控制台用JavaScript重复调用upvote(AJAX)函数吗
- mp3歌曲不能在Firefox中播放
- 如何使用javascript只加载mp3文件标题
- 获取二进制数据并将其保存为.mp3文件Javascript
- 将Base64音频文件Mp3解码为可播放的Mp3
- 使用 JavaScript 控制 HTML 中的 mp3 播放
- 请我需要一个可以编辑mp3 URL的JavaScript代码
- 适用于可在网络浏览器和智能手机上运行的网站的 MP3 播放器
- 如何将MP3文件播放到麦克风输入jQuery中
- 如何从广播流中获取mp3元数据(无icecast,无shoutcast)
- 我希望这个img类是一个按钮,当你点击它时,它会播放hello.mp3
- 使链接播放.mp3文件
- JavaScript/HTML5音频:在Android Chrome中播放用户通过文件选择器加载的mp3文件
- 表单文件中已上载mp3的标题
- 在网页上连续播放mp3的最有效方式(如网络收音机)
- 如何将arrayBuffer转换为mp3音频
- 使用python将任何音频转换为mp3格式
- 如何将我的附加按钮添加到这个jQuery mp3播放器中
- 在安卓上播放mp3的黑客