Help

Difference between revisions of "Embed audio in HTML"

This page present various practical ways to include LinguaLibre's audio within your web applications or projects. Cases showcasted below goes from easy to more complex. You are encouraged to hack and play with them on jsfiddle, codepen or other coding pads. A larger json with filenames and some for-loop will then allow you to take full advantage of Lingualibre's large datasets.

 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{#SUBTITLE:This page present various practical ways to include LinguaLibre's audio within your web applications or projects. Cases showcasted below goes from easy to more complex. You are encouraged to hack and play with them on jsfiddle, codepen or other coding pads. A larger json with filenames and some for-loop will then allow you to take full advantage of Lingualibre's large datasets.}}
 +
=== HTML5 audio only ===
 
Given an audio file <code>Bazinga.mp3</code>.
 
Given an audio file <code>Bazinga.mp3</code>.
 
=== Using Howler JS ===
 
;HTML
 
 
<pre><script src="./howler-2.0.8.js"></script>
 
<buton id="bazingaId" class="audio">Bazinga</button></pre>
 
 
;Javascript
 
 
<pre>$('.audio').on('click', function() { 
 
  var sound = new Howl({ src: [ '/to/folder/Bazinga.mp3','/to/folder/Bazinga.ogg' ]});
 
  sound.play();
 
});</pre>
 
 
;References
 
* https://howlerjs.com
 
 
=== HTML5 audio only ===
 
 
<pre>
 
<pre>
 
<audio controls="controls">
 
<audio controls="controls">
Line 29: Line 13:
 
* https://www.w3schools.com/tags/tag_audio.asp
 
* https://www.w3schools.com/tags/tag_audio.asp
  
=== Using HTML5, Jquery.js with fade-in and fade-out ===
+
=== HTML5 & light javascript ===
See [https://codepen.io/hugolpz/pen/QWGyVwM '''Audio 101''' – with typical cases parameters and behaviors]
+
* [https://codepen.io/hugolpz/pen/QWGyVwM?editors=1100 '''Audio 101''' – with duration, volume parameters and fade-in, fade-out behaviors]
 
+
* [https://codepen.io/hugolpz/pen/NWbNWWK '''Audio 101''' – with play, pause, toogle UI]
'''Using HTML5, Jquery.js and Bootstrap.css'''
 
 
<pre>
 
<pre>
 
<div class="audio">
 
<div class="audio">
Line 47: Line 30:
 
   </button>
 
   </button>
 
</div>
 
</div>
<script>var waitTime = 150;
+
<script>
 +
var waitTime = 150;
 
var playItemToggle = function(item) {
 
var playItemToggle = function(item) {
 
   setTimeout(function () {  
 
   setTimeout(function () {  
Line 63: Line 47:
 
</pre>
 
</pre>
  
;Example
+
'''References'''
* https://codepen.io/hugolpz/pen/NWbNWWK
 
 
* https://www.w3schools.com/tags/ref_av_dom.asp
 
* https://www.w3schools.com/tags/ref_av_dom.asp
 +
 +
=== Howler.js : advanced audio library ===
 +
;HTML
 +
 +
<pre>
 +
<script src="./howler-2.0.8.js"></script>
 +
<buton id="bazingaId" class="audio">Bazinga</button>
 +
</pre>
 +
 +
;Javascript
 +
 +
<pre>
 +
$('.audio').on('click', function() { 
 +
  var sound = new Howl({ src: [ '/to/folder/Bazinga.mp3','/to/folder/Bazinga.ogg' ]});
 +
  sound.play();
 +
});
 +
</pre>
 +
 +
;References
 +
* https://howlerjs.com
  
 
=== Audio controls characters ===
 
=== Audio controls characters ===
Line 83: Line 86:
 
* ⏺ <code>&amp;#x23fa;</code>
 
* ⏺ <code>&amp;#x23fa;</code>
 
See [https://stackoverflow.com/questions/22885702/html-for-the-pause-symbol-in-a-video-control HTML symbol in audio and video controls]
 
See [https://stackoverflow.com/questions/22885702/html-for-the-pause-symbol-in-a-video-control HTML symbol in audio and video controls]
 +
 +
== See also ==
 +
{{Technicals}}
  
 
[[Category:Lingua Libre:Help]]
 
[[Category:Lingua Libre:Help]]

Latest revision as of 20:44, 28 December 2023

HTML5 audio only

Given an audio file Bazinga.mp3.

<audio controls="controls">
  <source src="/to/folder/Bazinga.ogg" type="audio/ogg">
  <source src="/to/folder/Bazinga.mp3" type="audio/mpeg"><!-- fallback -->
  Your browser does not support HTML5 audio. Please download and install a modern browser.
</audio>
References

HTML5 & light javascript

<div class="audio">
  <audio id="" preload="auto">
    <source src="https://upload.wikimedia.org/wikipedia/commons/3/3d/Africanagogosound.ogg" type="audio/ogg">
    Your browser does not support HTML5 audio.
  </audio>

  <button class="btn btn-primary">
    <span class="play"><text>⏵</text></span>
  </button>
  <button class="btn btn-info" style="display:none;">
    <span class="pause"><text>⏸</text></span>
  </button>
</div>
<script>
var waitTime = 150;
var playItemToggle = function(item) {
  setTimeout(function () { 
    if (item.paused) { /*item.load();*/ item.play() } 
    else { item.pause(); }
  }, waitTime);
} 

$('.audio').on('click', function() {
  var $audio = $(this).find('audio')[0],
  $btns  = $(this).find('.btn');
  $btns.toggle();
  playItemToggle($audio);
});</script>

References

Howler.js : advanced audio library

HTML
<script src="./howler-2.0.8.js"></script>
<buton id="bazingaId" class="audio">Bazinga</button>
Javascript
$('.audio').on('click', function() {  
  var sound = new Howl({ src: [ '/to/folder/Bazinga.mp3','/to/folder/Bazinga.ogg' ]});
  sound.play();
});
References

Audio controls characters

  • &#x23e9;
  • &#x23ea;
  • &#x24eb;
  • &#x23ec;
  • &#x23ed;
  • &#x23ee;
  • &#x23ef;
  • &#x23f4;
  • &#x23f5;
  • &#x23f6;
  • &#x23f7;
  • &#x23f8;
  • &#x23f9;
  • &#x23fa;

See HTML symbol in audio and video controls

See also

Lingua Libre technical helps
Template {{Speakers category}} • {{Recommended lists}} • {{To iso 639-2}} • {{To iso 639-3}} • {{Userbox-records}} • {{Bot steps}}
Audio files How to create a frequency list?Convert files formatsDenoise files with SoXRename and mass rename
Bots Help:BotsLinguaLibre:BotHelp:Log in to Lingua Libre with PywikibotLingua Libre Bot (gh) • OlafbotPamputtBotDragons Bot (gh)
MediaWiki MediaWiki: Help:Documentation opérationelle MediawikiHelp:Database structureHelp:CSSHelp:RenameHelp:OAuthLinguaLibre:User rights (rate limit) • Module:Lingua Libre record & {{Lingua Libre record}}JS scripts: MediaWiki:Common.jsLastAudios.jsSoundLibrary.jsItemsSugar.jsLexemeQueriesGenerator.js (pad) • Sparql2data.js (pad) • LanguagesGallery.js (pad) • Gadgets: Gadget-LinguaImporter.jsGadget-Demo.jsGadget-RecentNonAudio.jsLiLiZip.js
Queries Help:APIsHelp:SPARQLSPARQL (intermediate) (stub) • SPARQL for lexemes (stub) • SPARQL for maintenanceLingualibre:Wikidata (stub) • Help:SPARQL (HAL)
Reuses Help:Download datasetsHelp:Embed audio in HTML
Unstable & tests Help:SPARQL/test
Categories Category:Technical reports