From c05efa8d7ae464235cf83d7c0956e42dc6974103 Mon Sep 17 00:00:00 2001 From: julieng Date: Sat, 2 Oct 2021 17:20:14 +0200 Subject: move *.html to *.md --- .../web/api/audiobuffersourcenode/loopend/index.md | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 files/fr/web/api/audiobuffersourcenode/loopend/index.md (limited to 'files/fr/web/api/audiobuffersourcenode/loopend/index.md') diff --git a/files/fr/web/api/audiobuffersourcenode/loopend/index.md b/files/fr/web/api/audiobuffersourcenode/loopend/index.md new file mode 100644 index 0000000000..c580e48ecb --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/loopend/index.md @@ -0,0 +1,105 @@ +--- +title: AudioBufferSourceNode.loopEnd +slug: Web/API/AudioBufferSourceNode/loopEnd +tags: + - API + - Audio + - AudioBufferSourceNode + - Propriété + - Reference + - Web Audio API +translation_of: Web/API/AudioBufferSourceNode/loopEnd +--- +

{{ APIRef("Web Audio API") }}

+ +

La propriété loopEnd de l'interface {{ domxref("AudioBufferSourceNode") }} est un nombre flottant à double précision qui indique, en secondes, à quel moment de l'{{domxref("AudioBuffer")}} la relecture doit s'arrêter, et éventuellement boucler de nouveau en reprenant à la position indiquée par la propriété {{domxref("AudioBufferSourceNode.loopStart", "loopStart")}}. Elle n'est prise en compte que si la propriété {{domxref("AudioBufferSourceNode.loop", "loop")}} vaut true.

+ +

Syntaxe

+ +
var source = contexteAudio.createBufferSource();
+source.loopEnd = 3;
+
+ +

Valeur

+ +

Un nombre flottant à double précision. La valeur par défaut est 0.

+ +

Exemples

+ +

Dans cet exemple, la fonction {{domxref("AudioContext.decodeAudioData")}} est utilisée pour décoder une piste audio et la mettre dans un {{domxref("AudioBufferSourceNode")}}. L'interface fournit deux boutons pour démarrer et arrêter la lecture, et des sliders pour modifier les propriétés playbackRate, loopStart et loopEnd à la volée.

+ +

Lorsque la lecture de la source audio est terminée, elle boucle. Il est possible de contrôler la durée de la boucle en modifiant loopStart et loopEnd. Par exemple, si leurs valeurs sont fixées à 20 et 25, respectivement, le son bouclera entre la 20ème et la 25ème secondes du morceau.

+ +
+

Note : Voir l'exemple complet et son code source.

+
+ +
function getData() {
+  source = contexteAudio.createBufferSource();
+  requete = new XMLHttpRequest();
+
+  requete.open('GET', 'viper.ogg', true);
+
+  requete.responseType = 'arraybuffer';
+
+
+  requete.onload = function() {
+    var donneesAudio = requete.response;
+
+    contexteAudio.decodeAudioData(donneesAudio, function(buffer) {
+        maMemoireTampon = buffer;
+        dureeMorceau = buffer.duration;
+        source.buffer = maMemoireTampon;
+        source.playbackRate.value = playbackControl.value;
+        source.connect(contexteAudio.destination);
+        source.loop = true;
+
+        loopstartControl.setAttribute('max', Math.floor(dureeMorceau));
+        loopendControl.setAttribute('max', Math.floor(dureeMorceau));
+      },
+
+      function(e){"Erreur lors du décodage des données audio " + e.err});
+
+  }
+
+  requete.send();
+}
+
+  ...
+
+loopstartControl.oninput = function() {
+  source.loopStart = loopstartControl.value;
+  loopstartValue.innerHTML = loopstartControl.value;
+}
+
+loopendControl.oninput = function() {
+  source.loopEnd = loopendControl.value;
+  loopendValue.innerHTML = loopendControl.value;
+}
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaires
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-loopEnd', 'loopEnd')}}{{Spec2('Web Audio API')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.AudioBufferSourceNode.loopEnd")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf