【问题标题】:Hack for playing mp3 on Android?破解在 Android 上播放 mp3?
【发布时间】:2016-03-13 12:21:56
【问题描述】:

我有一个 mp3 文件,我想在打开网站时自动播放。在同一页面上,有一个按钮(图标),如果点击它,“剪切”声音(实际上是暂停它),如果再次点击它,声音就会播放(从它停止的地方)等等。 .

HTML 页面:

<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 格式,我认为应该听不到任何声音(尽管上面描述的小“技巧”​​)..

有什么技巧吗?我是否遗漏了什么或者我可以做些什么来解决这个问题?

非常感谢。

PS。您认为直接在 javascript 中创建和操作元素会有所帮助吗? - 虽然我也不太清楚如何做到这一点......

【问题讨论】:

    标签: javascript android jquery html audio


    【解决方案1】:

    原因是,移动浏览器是这样构建的,它们允许播放声音或其他通过 JS 控制的事情,仅在用户操作时不是自动的。

    有一种巧妙的方法可以解决这个问题,您可以使用一个库,例如“Howler.js”,它使用声音精灵。 因此,您可以在开始时创建一个静音的声音文件。让用户点击一个按钮来访问应该播放声音的网站。 通过单击按钮,您可以“初始化”声音文件。 您使用 Howler 播放声音精灵的一秒钟无声。此时,声音的播放是用户操作,使用 Howler 现在您可以在任意位置以所需长度启动声音精灵文件,并且仍将其识别为用户操作。

    我希望我能解释一下,以便您理解我的意思。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多