How to play multiple sound files on one Web Page? (on click best practice)

只愿长相守 提交于 2019-12-01 16:39:56

问题


I have a page where there is a list of vocabularies. I have a TTS for each vocabulary. The current approach that I am using is to include an mp3 flash player for each vocabulary. This creates delay to load all the flash because there can be more than 10 vocabularies in one page.

another problem is that the mp3 of the tts file has to be created on the page load, this also gives delay to the loading time.

Some alternative approach in my mind is to:

  • include only one flash player.
  • load and play the file on click to reduce page load for tts file creation.

So my question is,

Is there any javascript or jquery plugin that can do either of the 2 other approaches?

thank you


回答1:


You can use the <audio> tag (HTML5) and you can control it when to load the files.
It is supported in most of the browsers like Google Chrome, Firefox, Opera...

It has two ways to set the link:

Way 1

<audio src="YOUR FILE LINK HERE">
    <embed> <!--FALLBACK HERE (FLASH PLAYER FOR IE)--> </embed>
</audio>

Way 2

<audio>
    <source src="YOUR FILE LINK HERE (MP3)" type="audio/ogg" />
    <source src="YOUR OTHER FILE LINK HERE (OGG)" type="audio/mp3" />
    <embed> <!--FALLBACK HERE (FLASH PLAYER FOR IE)--> </embed>
</audio>

Attributes

  • Put controls="controls" if you want it to display the audio player.
  • Put loop="loop" if you want it to loop the audio.
  • Put autoplay="autoplay" if you want it to play the audio by itself.
  • Put preload="preload" if you want it to preload it.

JavaScript Controlling

You can also control it using JavaScript.

To play it: document.getElementById("YOUR AUDIO TAG").play()
To pause it: document.getElementById("YOUR AUDIO TAG").pause()


Read more

  • http://w3schools.com/html5/tag_audio.asp


来源:https://stackoverflow.com/questions/7198648/how-to-play-multiple-sound-files-on-one-web-page-on-click-best-practice

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!