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 --- .../api/audiobuffersourcenode/buffer/index.html | 73 ---------- .../web/api/audiobuffersourcenode/buffer/index.md | 73 ++++++++++ .../api/audiobuffersourcenode/detune/index.html | 80 ----------- .../web/api/audiobuffersourcenode/detune/index.md | 80 +++++++++++ files/fr/web/api/audiobuffersourcenode/index.html | 156 --------------------- files/fr/web/api/audiobuffersourcenode/index.md | 156 +++++++++++++++++++++ .../web/api/audiobuffersourcenode/loop/index.html | 100 ------------- .../fr/web/api/audiobuffersourcenode/loop/index.md | 100 +++++++++++++ .../api/audiobuffersourcenode/loopend/index.html | 105 -------------- .../web/api/audiobuffersourcenode/loopend/index.md | 105 ++++++++++++++ .../api/audiobuffersourcenode/loopstart/index.html | 97 ------------- .../api/audiobuffersourcenode/loopstart/index.md | 97 +++++++++++++ .../audiobuffersourcenode/playbackrate/index.html | 124 ---------------- .../audiobuffersourcenode/playbackrate/index.md | 124 ++++++++++++++++ .../web/api/audiobuffersourcenode/start/index.html | 85 ----------- .../web/api/audiobuffersourcenode/start/index.md | 85 +++++++++++ 16 files changed, 820 insertions(+), 820 deletions(-) delete mode 100644 files/fr/web/api/audiobuffersourcenode/buffer/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/buffer/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/detune/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/detune/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/loop/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/loop/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/loopend/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/loopend/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/loopstart/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/loopstart/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/playbackrate/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/playbackrate/index.md delete mode 100644 files/fr/web/api/audiobuffersourcenode/start/index.html create mode 100644 files/fr/web/api/audiobuffersourcenode/start/index.md (limited to 'files/fr/web/api/audiobuffersourcenode') diff --git a/files/fr/web/api/audiobuffersourcenode/buffer/index.html b/files/fr/web/api/audiobuffersourcenode/buffer/index.html deleted file mode 100644 index 377e917158..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/buffer/index.html +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: AudioBufferSourceNode.buffer -slug: Web/API/AudioBufferSourceNode/buffer -translation_of: Web/API/AudioBufferSourceNode/buffer ---- -

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

- -

La propriété buffer de l'interface {{ domxref("AudioBufferSourceNode") }} donne la possibilité de lire un son en utilisant un {{domxref("AudioBuffer")}} comme ressource audio.

- -

Si la propriété buffer a la valeur NULL, elle définit un canal unique silencieux (chaque échantillon vaut 0).

- -

Syntaxe

- -
AudioBufferSourceNode.buffer = soundBuffer;
-
- -

Valeur

- -

Un {{domxref("AudioBuffer")}} qui contient les données représentant le son que le noeud va lire.

- -

Exemple

- -
-

Note : Pour un exemple complet, voir le code interprété, ou le code source.

-
- -
var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
-
-button.onclick = function() {
-  // Remplit le buffer avec du bruit blanc;
-  // valeurs aléatoires entre -1.0 et 1.0
-  for (var channel = 0; channel < channels; channel++) {
-   // Crée le ArrayBuffer qui contient effectivement les données
-   var nowBuffering = myArrayBuffer.getChannelData(channel);
-   for (var i = 0; i < frameCount; i++) {
-     // Math.random() is in [0; 1.0]
-     // audio doit être compris entre [-1.0; 1.0]
-     nowBuffering[i] = Math.random() * 2 - 1;
-   }
-  }
-
-  // Crée un AudioBufferSourceNode.
-  // C'est le AudioNode à utiliser pour jouer un AudioBuffer
-  var source = audioCtx.createBufferSource();
-  // Définit le buffer dans l'AudioBufferSourceNode
-  source.buffer = myArrayBuffer;
- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName("Web Audio API", "#widl-AudioBufferSourceNode-buffer", "buffer")}}{{Spec2("Web Audio API")}}Définition initiale
- -

Compatibilité navigateurs

- -

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

- -

Voir aussi

- -

{{page("/en-US/docs/Web/API/AudioBufferSourceNode","See_also")}}

diff --git a/files/fr/web/api/audiobuffersourcenode/buffer/index.md b/files/fr/web/api/audiobuffersourcenode/buffer/index.md new file mode 100644 index 0000000000..377e917158 --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/buffer/index.md @@ -0,0 +1,73 @@ +--- +title: AudioBufferSourceNode.buffer +slug: Web/API/AudioBufferSourceNode/buffer +translation_of: Web/API/AudioBufferSourceNode/buffer +--- +

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

+ +

La propriété buffer de l'interface {{ domxref("AudioBufferSourceNode") }} donne la possibilité de lire un son en utilisant un {{domxref("AudioBuffer")}} comme ressource audio.

+ +

Si la propriété buffer a la valeur NULL, elle définit un canal unique silencieux (chaque échantillon vaut 0).

+ +

Syntaxe

+ +
AudioBufferSourceNode.buffer = soundBuffer;
+
+ +

Valeur

+ +

Un {{domxref("AudioBuffer")}} qui contient les données représentant le son que le noeud va lire.

+ +

Exemple

+ +
+

Note : Pour un exemple complet, voir le code interprété, ou le code source.

+
+ +
var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
+
+button.onclick = function() {
+  // Remplit le buffer avec du bruit blanc;
+  // valeurs aléatoires entre -1.0 et 1.0
+  for (var channel = 0; channel < channels; channel++) {
+   // Crée le ArrayBuffer qui contient effectivement les données
+   var nowBuffering = myArrayBuffer.getChannelData(channel);
+   for (var i = 0; i < frameCount; i++) {
+     // Math.random() is in [0; 1.0]
+     // audio doit être compris entre [-1.0; 1.0]
+     nowBuffering[i] = Math.random() * 2 - 1;
+   }
+  }
+
+  // Crée un AudioBufferSourceNode.
+  // C'est le AudioNode à utiliser pour jouer un AudioBuffer
+  var source = audioCtx.createBufferSource();
+  // Définit le buffer dans l'AudioBufferSourceNode
+  source.buffer = myArrayBuffer;
+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName("Web Audio API", "#widl-AudioBufferSourceNode-buffer", "buffer")}}{{Spec2("Web Audio API")}}Définition initiale
+ +

Compatibilité navigateurs

+ +

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

+ +

Voir aussi

+ +

{{page("/en-US/docs/Web/API/AudioBufferSourceNode","See_also")}}

diff --git a/files/fr/web/api/audiobuffersourcenode/detune/index.html b/files/fr/web/api/audiobuffersourcenode/detune/index.html deleted file mode 100644 index bb352ab774..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/detune/index.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: AudioBufferSourceNode.detune -slug: Web/API/AudioBufferSourceNode/detune -tags: - - API - - Propriété - - Reference - - Web Audio API -translation_of: Web/API/AudioBufferSourceNode/detune ---- -

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

- -

La  propriété detune de l'interface {{ domxref("AudioBufferSourceNode") }} est un {{domxref("AudioParam")}} de type k-rate représentant le désaccord des oscillations en cents.

- -

Ses valeur sont comprises entre -1200 et 1200.

- -

Syntaxe

- -
var source = contexteAudio.createBufferSource();
-source.detune.value = 100; // valeur en cents
- -
-

Note: bien que l'AudioParam renvoyé soit en lecture seule, la valeur qu'il représente ne l'est pas.

-
- -

Valeur

- -

Un {{domxref("AudioParam")}} de type k-rate.

- -

Exemple

- -
var audioCtx = new AudioContext();
-
-var nbChan = 2;
-var nbFrames = audioCtx.sampleRate * 2.0;
-
-var audioBuffer = audioCtx.createBuffer(nbChan, nbFrames, audioCtx.sampleRate);
-
-for (var chan = 0; chan < nbChan; chan++) {
-  var chanData = audioBuffer.getChannelData(chan);
-  for (var i = 0; i < nbFrames; i++) {
-    chanData[i] = Math.random() * 2 - 1;
-  }
-}
-
-var source = audioCtx.createBufferSource();
-source.buffer = audioBuffer;
-source.connect(audioCtx.destination);
-source.detune.value = 100; // valeur en cents
-source.start();
-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-detune', 'detune')}}{{Spec2('Web Audio API')}} 
- -

Compatibilité navigateurs

- - - -

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

- -

Voir aussi

- - diff --git a/files/fr/web/api/audiobuffersourcenode/detune/index.md b/files/fr/web/api/audiobuffersourcenode/detune/index.md new file mode 100644 index 0000000000..bb352ab774 --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/detune/index.md @@ -0,0 +1,80 @@ +--- +title: AudioBufferSourceNode.detune +slug: Web/API/AudioBufferSourceNode/detune +tags: + - API + - Propriété + - Reference + - Web Audio API +translation_of: Web/API/AudioBufferSourceNode/detune +--- +

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

+ +

La  propriété detune de l'interface {{ domxref("AudioBufferSourceNode") }} est un {{domxref("AudioParam")}} de type k-rate représentant le désaccord des oscillations en cents.

+ +

Ses valeur sont comprises entre -1200 et 1200.

+ +

Syntaxe

+ +
var source = contexteAudio.createBufferSource();
+source.detune.value = 100; // valeur en cents
+ +
+

Note: bien que l'AudioParam renvoyé soit en lecture seule, la valeur qu'il représente ne l'est pas.

+
+ +

Valeur

+ +

Un {{domxref("AudioParam")}} de type k-rate.

+ +

Exemple

+ +
var audioCtx = new AudioContext();
+
+var nbChan = 2;
+var nbFrames = audioCtx.sampleRate * 2.0;
+
+var audioBuffer = audioCtx.createBuffer(nbChan, nbFrames, audioCtx.sampleRate);
+
+for (var chan = 0; chan < nbChan; chan++) {
+  var chanData = audioBuffer.getChannelData(chan);
+  for (var i = 0; i < nbFrames; i++) {
+    chanData[i] = Math.random() * 2 - 1;
+  }
+}
+
+var source = audioCtx.createBufferSource();
+source.buffer = audioBuffer;
+source.connect(audioCtx.destination);
+source.detune.value = 100; // valeur en cents
+source.start();
+
+ +

Spécifications

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

Compatibilité navigateurs

+ + + +

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

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/audiobuffersourcenode/index.html b/files/fr/web/api/audiobuffersourcenode/index.html deleted file mode 100644 index ce90a90902..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/index.html +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: AudioBufferSourceNode -slug: Web/API/AudioBufferSourceNode -tags: - - API - - Buffer - - Experimental - - Reference - - Web Audio API -translation_of: Web/API/AudioBufferSourceNode ---- -

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

- -

L'interface AudioBufferSourceNode est un {{domxref("AudioScheduledSourceNode")}} qui représente une source audio constituée de données audio en mémoire, stockées dans un {{domxref ("AudioBuffer")}}. Elle est particulièrement utile pour lire des sons qui requierrent des conditions de lecture particulières, comme la synchronisation sur un certain rythme, et peuvent être stockés en mémoire. Si ce type de son doit être lu depuis le disque ou le réseau, il conviendra d'utiliser un {{domxref("AudioWorkletNode")}}.

- -

{{InheritanceDiagram}}

- -

Un AudioBufferSourceNode n'a pas d'entrée et il comporte une unique sortie, dont le nombre de canaux est spécifié par la propriété {{domxref("AudioBufferSourceNode.buffer", "buffer")}}. Si aucun buffer n'est paramétré, c'est-à-dire si la valeur de l'attribut est NULL, la sortie contient un seul canal silencieux (chaque échantillon vaut 0).

- -


- Un {{domxref("AudioBufferSourceNode")}} ne peut être joué qu'une seule fois; autrement dit un seul appel à la fonction AudioBufferSourceNode.start() est autorisé. Pour rejouer le son, il faut créer un nouvel AudioBufferSourceNode. Heureusement ces noeuds ne demandent pas beaucoup de ressource, et les véritables AudioBuffers peuvent être réutilisés. On dit que les AudioBufferSourceNodes doivent être utilisés en mode "one shot": une fois que la lecture est lancée, toutes les références peuvent être supprimées, et elles seront collectées par le ramasse-miette automatiquement quand la lecture des sons sera terminée.

- -

Plusieurs appels à la fonction AudioBufferSourceNode.stop() sont autorisés. Le dernier appel remplace le précédent, à condition que le AudioBufferSourceNode n'ait pas déjà atteint la fin du buffer.

- -

L'objet AudioBufferSourceNode prend le contenu d'un AudioBuffer et le convertit en audio

- - - - - - - - - - - - - - - - -
Nombre d'entrées0
Nombre de sorties1
Nombre de canauxdéfini par l'objet {{domxref("AudioBuffer")}} associé
- -

Constructeur

- -
-
{{domxref("AudioBufferSourceNode.AudioBufferSourceNode", "AudioBufferSourceNode()")}}
-
Crée et retourne un nouvel objet AudioBufferSourceNode. Un {{domxref("AudioBufferSourceNode")}} peut être instancié à l'aide la méthode {{domxref("AudioContext.createBufferSource()")}}.
-
- -

Propriétés

- -

Hérite des propriétés de son parent, {{domxref("AudioNode")}}.

- -
-
{{domxref("AudioBufferSourceNode.buffer")}}
-
{{domxref ("AudioBuffer")}} qui définit la ressource à jouer; lorsqu'il a la valeur NULL, définit un canal unique silencieux (dans lequel chaque échantillon vaut 0.0).
-
{{domxref("AudioBufferSourceNode.detune")}}
-
{{domxref("AudioParam")}} de type k-rate représentant le désaccordage de la fréquence exprimé en cents. Cette valeur est composée à partir du playbackRate pour déterminer la vitesse à laquelle le son sera jouée. Sa valeur par défaut est 0 (qui correspond à aucun désaccordage), et son rang nominal va de -∞ à ∞.
-
{{domxref("AudioBufferSourceNode.loop")}}
-
Attribut booléen indiquant si la ressource doit être lue de nouveau lorsque la fin de l'{{domxref ("AudioBuffer")}} est atteinte. Sa valeur par défaut est false.
-
{{domxref("AudioBufferSourceNode.loopStart")}} {{optional_inline}}
-
Nombre flottant à double précision indiquant, en secondes, à quel moment de l'{{domxref ("AudioBuffer")}} la lecture doit reprendre. Sa valeur par défaut est 0.
-
{{domxref("AudioBufferSourceNode.loopEnd")}} {{optional_inline}}
-
Nombre flottant à double précision indiquant, en secondes, à quel moment de l'{{domxref ("AudioBuffer")}} la relecture doit s'arrêter (et éventuellement boucler à nouveau). Sa valeur par défaut est 0.
-
{{domxref("AudioBufferSourceNode.playbackRate")}}
-
{{domxref ("AudioParam")}} de type a-rate qui définit le facteur de vitesse à laquelle la ressource audio sera jouée. Comme aucune correction de pitch n'est appliquée sur la sortie, il peut être utilisé pour modifier le pitch de l'échantillon.
-
- -

Gestionnaires d'évènement

- -

Hérite des gestionnaires d'évènement de son parent, {{domxref("AudioScheduledSourceNode")}}.

- -

Méthodes

- -

Hérite des méthodes de son parent, {{domxref("AudioNode")}}.

- -

Exemple

- -

Cet exemple crée un tampon de deux secondes, le remplit avec du bruit blanc et le joue par l'intermédiaire d'un AudioBufferSourceNode.

- -
-

Note : Vous pouvez aussi exécuter the code, ou regarder le code source.

-
- -
var contexteAudio = new (window.AudioContext || window.webkitAudioContext)();
-var bouton = document.querySelector('button');
-var pre = document.querySelector('pre');
-var monScript = document.querySelector('script');
-
-pre.innerHTML = monScript.innerHTML;
-
-// Stéréo
-var canaux = 2;
-
-// Crée un tampon vide de deux secondes
-// au taux d'échantillonnage du AudioContext
-var compteurTrames = contexteAudio.sampleRate * 2.0;
-
-var myArrayBuffer = contexteAudio.createBuffer(2, compteurTrames, contexteAudio.sampleRate);
-
-bouton.onclick = function() {
-  // remplit le tampon avec du bruit blanc;
-  // valeurs aléatoires entre -1.0 et 1.0
-  for (var canal = 0; canal < canaux; canal++) {
-   // crée le ArrayBuffer qui contient les données
-   var nowBuffering = myArrayBuffer.getChannelData(canal);
-   for (var i = 0; i < compteurTrames; i++) {
-     // Math.random() est compris entre [0; 1.0]
-     // audio doit être compris entre [-1.0; 1.0]
-     nowBuffering[i] = Math.random() * 2 - 1;
-   }
-  }
-
-  // crée AudioBufferSourceNode.
-  // c'est AudioNode utilisé pour lire un AudioBuffer
-  var source = contexteAudio.createBufferSource();
-  // initialise le tampon du AudioBufferSourceNode
-  source.buffer = myArrayBuffer;
-  // connecte l'AudioBufferSourceNode avec la destination
-  // de façon à ce qu'on puisse entendre le son
-  source.connect(contexteAudio.destination);
-  // lance la lecture de la source
-  source.start();
-}
- -
-

Note : Pour un exemple de decodeAudioData(), voir la page {{domxref("AudioContext.decodeAudioData")}}.

-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#AudioBufferSourceNode-section', 'AudioBufferSourceNode')}}{{Spec2('Web Audio API')}}
- -

Compatibilité navigateurs

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

Voir aussi

- - diff --git a/files/fr/web/api/audiobuffersourcenode/index.md b/files/fr/web/api/audiobuffersourcenode/index.md new file mode 100644 index 0000000000..ce90a90902 --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/index.md @@ -0,0 +1,156 @@ +--- +title: AudioBufferSourceNode +slug: Web/API/AudioBufferSourceNode +tags: + - API + - Buffer + - Experimental + - Reference + - Web Audio API +translation_of: Web/API/AudioBufferSourceNode +--- +

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

+ +

L'interface AudioBufferSourceNode est un {{domxref("AudioScheduledSourceNode")}} qui représente une source audio constituée de données audio en mémoire, stockées dans un {{domxref ("AudioBuffer")}}. Elle est particulièrement utile pour lire des sons qui requierrent des conditions de lecture particulières, comme la synchronisation sur un certain rythme, et peuvent être stockés en mémoire. Si ce type de son doit être lu depuis le disque ou le réseau, il conviendra d'utiliser un {{domxref("AudioWorkletNode")}}.

+ +

{{InheritanceDiagram}}

+ +

Un AudioBufferSourceNode n'a pas d'entrée et il comporte une unique sortie, dont le nombre de canaux est spécifié par la propriété {{domxref("AudioBufferSourceNode.buffer", "buffer")}}. Si aucun buffer n'est paramétré, c'est-à-dire si la valeur de l'attribut est NULL, la sortie contient un seul canal silencieux (chaque échantillon vaut 0).

+ +


+ Un {{domxref("AudioBufferSourceNode")}} ne peut être joué qu'une seule fois; autrement dit un seul appel à la fonction AudioBufferSourceNode.start() est autorisé. Pour rejouer le son, il faut créer un nouvel AudioBufferSourceNode. Heureusement ces noeuds ne demandent pas beaucoup de ressource, et les véritables AudioBuffers peuvent être réutilisés. On dit que les AudioBufferSourceNodes doivent être utilisés en mode "one shot": une fois que la lecture est lancée, toutes les références peuvent être supprimées, et elles seront collectées par le ramasse-miette automatiquement quand la lecture des sons sera terminée.

+ +

Plusieurs appels à la fonction AudioBufferSourceNode.stop() sont autorisés. Le dernier appel remplace le précédent, à condition que le AudioBufferSourceNode n'ait pas déjà atteint la fin du buffer.

+ +

L'objet AudioBufferSourceNode prend le contenu d'un AudioBuffer et le convertit en audio

+ + + + + + + + + + + + + + + + +
Nombre d'entrées0
Nombre de sorties1
Nombre de canauxdéfini par l'objet {{domxref("AudioBuffer")}} associé
+ +

Constructeur

+ +
+
{{domxref("AudioBufferSourceNode.AudioBufferSourceNode", "AudioBufferSourceNode()")}}
+
Crée et retourne un nouvel objet AudioBufferSourceNode. Un {{domxref("AudioBufferSourceNode")}} peut être instancié à l'aide la méthode {{domxref("AudioContext.createBufferSource()")}}.
+
+ +

Propriétés

+ +

Hérite des propriétés de son parent, {{domxref("AudioNode")}}.

+ +
+
{{domxref("AudioBufferSourceNode.buffer")}}
+
{{domxref ("AudioBuffer")}} qui définit la ressource à jouer; lorsqu'il a la valeur NULL, définit un canal unique silencieux (dans lequel chaque échantillon vaut 0.0).
+
{{domxref("AudioBufferSourceNode.detune")}}
+
{{domxref("AudioParam")}} de type k-rate représentant le désaccordage de la fréquence exprimé en cents. Cette valeur est composée à partir du playbackRate pour déterminer la vitesse à laquelle le son sera jouée. Sa valeur par défaut est 0 (qui correspond à aucun désaccordage), et son rang nominal va de -∞ à ∞.
+
{{domxref("AudioBufferSourceNode.loop")}}
+
Attribut booléen indiquant si la ressource doit être lue de nouveau lorsque la fin de l'{{domxref ("AudioBuffer")}} est atteinte. Sa valeur par défaut est false.
+
{{domxref("AudioBufferSourceNode.loopStart")}} {{optional_inline}}
+
Nombre flottant à double précision indiquant, en secondes, à quel moment de l'{{domxref ("AudioBuffer")}} la lecture doit reprendre. Sa valeur par défaut est 0.
+
{{domxref("AudioBufferSourceNode.loopEnd")}} {{optional_inline}}
+
Nombre flottant à double précision indiquant, en secondes, à quel moment de l'{{domxref ("AudioBuffer")}} la relecture doit s'arrêter (et éventuellement boucler à nouveau). Sa valeur par défaut est 0.
+
{{domxref("AudioBufferSourceNode.playbackRate")}}
+
{{domxref ("AudioParam")}} de type a-rate qui définit le facteur de vitesse à laquelle la ressource audio sera jouée. Comme aucune correction de pitch n'est appliquée sur la sortie, il peut être utilisé pour modifier le pitch de l'échantillon.
+
+ +

Gestionnaires d'évènement

+ +

Hérite des gestionnaires d'évènement de son parent, {{domxref("AudioScheduledSourceNode")}}.

+ +

Méthodes

+ +

Hérite des méthodes de son parent, {{domxref("AudioNode")}}.

+ +

Exemple

+ +

Cet exemple crée un tampon de deux secondes, le remplit avec du bruit blanc et le joue par l'intermédiaire d'un AudioBufferSourceNode.

+ +
+

Note : Vous pouvez aussi exécuter the code, ou regarder le code source.

+
+ +
var contexteAudio = new (window.AudioContext || window.webkitAudioContext)();
+var bouton = document.querySelector('button');
+var pre = document.querySelector('pre');
+var monScript = document.querySelector('script');
+
+pre.innerHTML = monScript.innerHTML;
+
+// Stéréo
+var canaux = 2;
+
+// Crée un tampon vide de deux secondes
+// au taux d'échantillonnage du AudioContext
+var compteurTrames = contexteAudio.sampleRate * 2.0;
+
+var myArrayBuffer = contexteAudio.createBuffer(2, compteurTrames, contexteAudio.sampleRate);
+
+bouton.onclick = function() {
+  // remplit le tampon avec du bruit blanc;
+  // valeurs aléatoires entre -1.0 et 1.0
+  for (var canal = 0; canal < canaux; canal++) {
+   // crée le ArrayBuffer qui contient les données
+   var nowBuffering = myArrayBuffer.getChannelData(canal);
+   for (var i = 0; i < compteurTrames; i++) {
+     // Math.random() est compris entre [0; 1.0]
+     // audio doit être compris entre [-1.0; 1.0]
+     nowBuffering[i] = Math.random() * 2 - 1;
+   }
+  }
+
+  // crée AudioBufferSourceNode.
+  // c'est AudioNode utilisé pour lire un AudioBuffer
+  var source = contexteAudio.createBufferSource();
+  // initialise le tampon du AudioBufferSourceNode
+  source.buffer = myArrayBuffer;
+  // connecte l'AudioBufferSourceNode avec la destination
+  // de façon à ce qu'on puisse entendre le son
+  source.connect(contexteAudio.destination);
+  // lance la lecture de la source
+  source.start();
+}
+ +
+

Note : Pour un exemple de decodeAudioData(), voir la page {{domxref("AudioContext.decodeAudioData")}}.

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#AudioBufferSourceNode-section', 'AudioBufferSourceNode')}}{{Spec2('Web Audio API')}}
+ +

Compatibilité navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/audiobuffersourcenode/loop/index.html b/files/fr/web/api/audiobuffersourcenode/loop/index.html deleted file mode 100644 index 739e46de9c..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/loop/index.html +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: AudioBufferSourceNode.loop -slug: Web/API/AudioBufferSourceNode/loop -tags: - - API - - AudioBufferSourceNode - - Loop - - Reference - - Web Audio API -translation_of: Web/API/AudioBufferSourceNode/loop ---- -

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

- -
-

La propriété loop de l'interface {{domxref("AudioBufferSourceNode") }} est un booléen indiquant si la ressource audio doit être rejouée quand à la fin de l'{{domxref("AudioBuffer")}}.

-
- -

La valeur par défaut de la propriété loop est false.

- -

Syntaxe

- -
var source = audioCtx.createBufferSource();
-source.loop = true;
-
- -

Value

- -

Un booléen.

- -

Lorsque la lecture en boucle est activée, le son commence à jouer au point spécifié lorsque {{domxref("AudioBufferSourceNode.start", "start()")}} est appelée. Quand il atteint le point spécifié par la propriété {{domxref("AudioBufferSourceNode.loopEnd", "loopEnd")}}, il recommence au point spécifié par la propriété {{domxref("AudioBufferSourceNode.loopStart", "loopStart")}}

- -

Exemple

- -

Dans cet exemple, la fonction {{domxref("AudioContext.decodeAudioData")}} est utilisée pour décoder une piste audio et la placer dans un {{domxref("AudioBufferSourceNode")}}. Les boutons mis à disposition permettent de lire et d'arrêter la lecture audio, et un slider est utilisé pour changer la valeur de playbackRate en temps réel. Quand la lecture est terminée, elle boucle.

- -
-

Note : Vous pouvez essayer un exemple live (or voir la source.)

-
- -
function getData() {
-  source = audioCtx.createBufferSource();
-  request = new XMLHttpRequest();
-
-  request.open('GET', 'viper.ogg', true);
-
-  request.responseType = 'arraybuffer';
-
-  request.onload = function() {
-    var audioData = request.response;
-
-    audioCtx.decodeAudioData(audioData, function(buffer) {
-        myBuffer = buffer;
-        source.buffer = myBuffer;
-        source.playbackRate.value = playbackControl.value;
-        source.connect(audioCtx.destination);
-        source.loop = true;
-      },
-
-      function(e){"Error with decoding audio data" + e.err});
-
-  }
-
-  request.send();
-}
-
-// lie les boutons pour lire et arrêter l'audio, et le slider
-
-play.onclick = function() {
-  getData();
-  source.start(0);
-  play.setAttribute('disabled', 'disabled');
-  playbackControl.removeAttribute('disabled');
-}
- -

Spécification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-loop', 'loop')}}{{Spec2('Web Audio API')}} 
- -

Compatibilité navigateurs

- -

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

- -

Voir aussi

- - diff --git a/files/fr/web/api/audiobuffersourcenode/loop/index.md b/files/fr/web/api/audiobuffersourcenode/loop/index.md new file mode 100644 index 0000000000..739e46de9c --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/loop/index.md @@ -0,0 +1,100 @@ +--- +title: AudioBufferSourceNode.loop +slug: Web/API/AudioBufferSourceNode/loop +tags: + - API + - AudioBufferSourceNode + - Loop + - Reference + - Web Audio API +translation_of: Web/API/AudioBufferSourceNode/loop +--- +

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

+ +
+

La propriété loop de l'interface {{domxref("AudioBufferSourceNode") }} est un booléen indiquant si la ressource audio doit être rejouée quand à la fin de l'{{domxref("AudioBuffer")}}.

+
+ +

La valeur par défaut de la propriété loop est false.

+ +

Syntaxe

+ +
var source = audioCtx.createBufferSource();
+source.loop = true;
+
+ +

Value

+ +

Un booléen.

+ +

Lorsque la lecture en boucle est activée, le son commence à jouer au point spécifié lorsque {{domxref("AudioBufferSourceNode.start", "start()")}} est appelée. Quand il atteint le point spécifié par la propriété {{domxref("AudioBufferSourceNode.loopEnd", "loopEnd")}}, il recommence au point spécifié par la propriété {{domxref("AudioBufferSourceNode.loopStart", "loopStart")}}

+ +

Exemple

+ +

Dans cet exemple, la fonction {{domxref("AudioContext.decodeAudioData")}} est utilisée pour décoder une piste audio et la placer dans un {{domxref("AudioBufferSourceNode")}}. Les boutons mis à disposition permettent de lire et d'arrêter la lecture audio, et un slider est utilisé pour changer la valeur de playbackRate en temps réel. Quand la lecture est terminée, elle boucle.

+ +
+

Note : Vous pouvez essayer un exemple live (or voir la source.)

+
+ +
function getData() {
+  source = audioCtx.createBufferSource();
+  request = new XMLHttpRequest();
+
+  request.open('GET', 'viper.ogg', true);
+
+  request.responseType = 'arraybuffer';
+
+  request.onload = function() {
+    var audioData = request.response;
+
+    audioCtx.decodeAudioData(audioData, function(buffer) {
+        myBuffer = buffer;
+        source.buffer = myBuffer;
+        source.playbackRate.value = playbackControl.value;
+        source.connect(audioCtx.destination);
+        source.loop = true;
+      },
+
+      function(e){"Error with decoding audio data" + e.err});
+
+  }
+
+  request.send();
+}
+
+// lie les boutons pour lire et arrêter l'audio, et le slider
+
+play.onclick = function() {
+  getData();
+  source.start(0);
+  play.setAttribute('disabled', 'disabled');
+  playbackControl.removeAttribute('disabled');
+}
+ +

Spécification

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

Compatibilité navigateurs

+ +

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

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/audiobuffersourcenode/loopend/index.html b/files/fr/web/api/audiobuffersourcenode/loopend/index.html deleted file mode 100644 index c580e48ecb..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/loopend/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -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

- - 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

+ + diff --git a/files/fr/web/api/audiobuffersourcenode/loopstart/index.html b/files/fr/web/api/audiobuffersourcenode/loopstart/index.html deleted file mode 100644 index 11a5b2165e..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/loopstart/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: AudioBufferSourceNode.loopStart -slug: Web/API/AudioBufferSourceNode/loopStart -translation_of: Web/API/AudioBufferSourceNode/loopStart ---- -

{{ APIRef("Web Audio API") }}
- La propriété loopStart de l'interface {{ domxref("AudioBufferSourceNode") }} est un nombre flottant à double précision qui indique, en secondes, à quel moment de l'{{domxref("AudioBuffer")}} la lecture doit reprendre lors d'une boucle. Elle n'est prise en compte que lorque la propriété {{domxref("AudioBufferSourceNode.loop", "loop")}} est true.

- -

Syntaxe

- -
var source = contexteAudio.createBufferSource();
-source.loopStart = 3;
-
- -

Valeur

- -

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

- -

Exemple

- -

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écification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-loopStart', 'loopStart')}}{{Spec2('Web Audio API')}} 
- -

Compatibilité navigateurs

- -

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

- -

Voir aussi

- - diff --git a/files/fr/web/api/audiobuffersourcenode/loopstart/index.md b/files/fr/web/api/audiobuffersourcenode/loopstart/index.md new file mode 100644 index 0000000000..11a5b2165e --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/loopstart/index.md @@ -0,0 +1,97 @@ +--- +title: AudioBufferSourceNode.loopStart +slug: Web/API/AudioBufferSourceNode/loopStart +translation_of: Web/API/AudioBufferSourceNode/loopStart +--- +

{{ APIRef("Web Audio API") }}
+ La propriété loopStart de l'interface {{ domxref("AudioBufferSourceNode") }} est un nombre flottant à double précision qui indique, en secondes, à quel moment de l'{{domxref("AudioBuffer")}} la lecture doit reprendre lors d'une boucle. Elle n'est prise en compte que lorque la propriété {{domxref("AudioBufferSourceNode.loop", "loop")}} est true.

+ +

Syntaxe

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

Valeur

+ +

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

+ +

Exemple

+ +

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écification

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

Compatibilité navigateurs

+ +

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

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/audiobuffersourcenode/playbackrate/index.html b/files/fr/web/api/audiobuffersourcenode/playbackrate/index.html deleted file mode 100644 index 5f13016165..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/playbackrate/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: AudioBufferSourceNode.playbackRate -slug: Web/API/AudioBufferSourceNode/playbackRate -translation_of: Web/API/AudioBufferSourceNode/playbackRate ---- -

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

- -
-

La propriété playbackRate de l'interface {{ domxref("AudioBufferSourceNode") }} est un {{domxref("AudioParam")}} de type k-rate qui définit la vitesse à laquelle le contenu audio sera lu.

-
- -

Une valeur de 1.0 (c'est ) indique que le son doit être lu à la vitesse de son taux d'échantillonnage, une valeur inférieure qu'il doit être lu plus lentement, et une valeur supérieure plus rapidement. la valeur par défaut est 1.0. Pour toute autre valeur l'AudioBufferSourceNode rééchantillone le son avant de l'envoyer vers la sortie.

- -

Syntaxe

- -
var source = contexteAudio.createBufferSource();
-source.playbackRate.value = 1.25; // proportion : 25% plus rapide que la vitesse normale
-
- -
-

Note : Bien que le AudioParam renvoyé soit en lecture seule, la valeur qu'il représente ne l'est pas.

-
- -

Valeur

- -

Un {{domxref("AudioParam")}} dont la {{domxref("AudioParam.value", "value")}} est un nombre flottant à double précision, qui représente la vitesse de lecture d'un son en proportion décimale du taux d'échantillonnage original.

- -

Considérons un buffer audio échantillonné à 44.1 kHz (44,100 échantillons par seconde). Observons l'effet de quelques valeurs de la propriété playbackRate :

- - - -

Exemple

- -

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.

- -
-

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

-
- -
<input class="playback-rate-control" type="range" min="0.25" max="3" step="0.05" value="1">
-<span class="playback-rate-value">1.0</span>
-
- -
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();
-}
-
-// connecte les boutons pour lancer et arrêter la lecture, et modifier la vitesse de lecture
-
-play.onclick = function() {
-  getData();
-  source.start(0);
-  play.setAttribute('disabled', 'disabled');
-  playbackControl.removeAttribute('disabled');
-}
-
-stop.onclick = function() {
-  source.stop(0);
-  play.removeAttribute('disabled');
-  playbackControl.setAttribute('disabled', 'disabled');
-}
-
-playbackControl.oninput = function() {
-  source.playbackRate.value = playbackControl.value;
-  playbackValue.innerHTML = playbackControl.value;
-}
- -

Spécification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-playbackRate', 'playbackRate')}}{{Spec2('Web Audio API')}} 
- -

Compatibilité navigateurs

- -

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

- -

Voir aussi

- - diff --git a/files/fr/web/api/audiobuffersourcenode/playbackrate/index.md b/files/fr/web/api/audiobuffersourcenode/playbackrate/index.md new file mode 100644 index 0000000000..5f13016165 --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/playbackrate/index.md @@ -0,0 +1,124 @@ +--- +title: AudioBufferSourceNode.playbackRate +slug: Web/API/AudioBufferSourceNode/playbackRate +translation_of: Web/API/AudioBufferSourceNode/playbackRate +--- +

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

+ +
+

La propriété playbackRate de l'interface {{ domxref("AudioBufferSourceNode") }} est un {{domxref("AudioParam")}} de type k-rate qui définit la vitesse à laquelle le contenu audio sera lu.

+
+ +

Une valeur de 1.0 (c'est ) indique que le son doit être lu à la vitesse de son taux d'échantillonnage, une valeur inférieure qu'il doit être lu plus lentement, et une valeur supérieure plus rapidement. la valeur par défaut est 1.0. Pour toute autre valeur l'AudioBufferSourceNode rééchantillone le son avant de l'envoyer vers la sortie.

+ +

Syntaxe

+ +
var source = contexteAudio.createBufferSource();
+source.playbackRate.value = 1.25; // proportion : 25% plus rapide que la vitesse normale
+
+ +
+

Note : Bien que le AudioParam renvoyé soit en lecture seule, la valeur qu'il représente ne l'est pas.

+
+ +

Valeur

+ +

Un {{domxref("AudioParam")}} dont la {{domxref("AudioParam.value", "value")}} est un nombre flottant à double précision, qui représente la vitesse de lecture d'un son en proportion décimale du taux d'échantillonnage original.

+ +

Considérons un buffer audio échantillonné à 44.1 kHz (44,100 échantillons par seconde). Observons l'effet de quelques valeurs de la propriété playbackRate :

+ + + +

Exemple

+ +

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.

+ +
+

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

+
+ +
<input class="playback-rate-control" type="range" min="0.25" max="3" step="0.05" value="1">
+<span class="playback-rate-value">1.0</span>
+
+ +
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();
+}
+
+// connecte les boutons pour lancer et arrêter la lecture, et modifier la vitesse de lecture
+
+play.onclick = function() {
+  getData();
+  source.start(0);
+  play.setAttribute('disabled', 'disabled');
+  playbackControl.removeAttribute('disabled');
+}
+
+stop.onclick = function() {
+  source.stop(0);
+  play.removeAttribute('disabled');
+  playbackControl.setAttribute('disabled', 'disabled');
+}
+
+playbackControl.oninput = function() {
+  source.playbackRate.value = playbackControl.value;
+  playbackValue.innerHTML = playbackControl.value;
+}
+ +

Spécification

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

Compatibilité navigateurs

+ +

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

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/audiobuffersourcenode/start/index.html b/files/fr/web/api/audiobuffersourcenode/start/index.html deleted file mode 100644 index b07993659d..0000000000 --- a/files/fr/web/api/audiobuffersourcenode/start/index.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: AudioBufferSourceNode.start() -slug: Web/API/AudioBufferSourceNode/start -translation_of: Web/API/AudioBufferSourceNode/start ---- -

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

- -
-

La méthode start() de l'interface {{ domxref("AudioBufferSourceNode") }} permet de planifier la lecture du buffer audio.

-
- -

Syntaxe

- -
AudioBufferSourceNode.start([when][, offset][, duration]);
-
- -

Paramètres

- -
-
when {{optional_inline}}
-
Le paramètre when indique à quel moment la lecture doit commencer. Si when représente une date passée, la lecture commence immédiatement. Si la méthode est invoquée plus d'une fois, ou après un appel à AudioBufferSourceNode.stop(), une exception est levée.
- Le temps, en secondes, auquel la lecture doit commencer, spécifié dans le même systèmes de coordonnées temporalles utilisé par {{domxref("AudioContext")}}. Si when est inférieur à ({{domxref("AudioContext.currentTime")}}, ou égal à 0, la lecture commence immédiatement. La valeur par défaut est 0.
-
offset {{optional_inline}}
-
Décalage, en secondes, indiquant où la lecture doit commencer. Par example, pour lancer la lecture au milieu d'un son durant 10 secondes, l'offset doit être 5. La valeur par défaut, 0, démarre la lecture au début du buffer. Les valeurs supérieures à la fin du son sont silencieusement ajustées à la valeur maximum possible (basée sur les propriétés {{domxref("AudioBuffer.duration", "duration")}} et/ou {{domxref("AudioBufferSourceNode.loopEnd", "loopEnd")}}). Le calcul du décalage se fait en utilisant le taux d'échantillonnage original, donc même lorsqu'un son est lu au double de sa vitesse, le milieu d'un buffer de 10 secondes est toujours 5.
-
duration {{optional_inline}}
-
Le paramètre duration, dont la valeur par défaut est la longueur du contenu moins le décalage (offset) du début de lecture, indique la longueur du contenu audio qui doit être lue.
- Durée du son qui doit être lue, en secondes. Si ce paramètre n'est pas spécifié ou a pour valeur 0 (valeur par défaut), le son est lu jusqu'à la fin, s'il n'est pas arrêté par la méthode {{domxref("AudioScheduledSourceNode.stop", "stop()")}}. L'utilisation de ce paramètre est fonctionellement équivalente à l'appel de la méthode start(when, offset) suivi de la méthode stop(when+duration).
-
- -

Valeur de retour

- -

{{jsxref("undefined")}}.

- -

Exceptions

- -
-
TypeError
-
Une valeur négative a été spécifiée pour au moins l'un des trois paramètres de temps. N'essayez pas de trafiquer les lois de la physique.
-
InvalidStateError
-
start() a déjà été appelé. Cette fonction ne peut être appelée qu'une seule fois pour chaque AudioBufferSourceNode.
-
- -

Exemples

- -

L'exemple le plus simple lance la lecture du buffer audio depuis le début - inutile de spécifier des paramètres dans ce cas:

- -
source.start();
- -

L'exemple suivant, plus complexe, jouera, après une seconde de pause, un tronçon d'une durée de 10 secondes à partir de la 3ème seconde des données en mémoire.

- -
source.start(contexteAudio.currentTime + 1,3,10);
- -
-

Note : Pour un exemple plus complexe montrant la méthode start() en action, consulter l'exemple {{domxref("AudioContext.decodeAudioData")}}. Voir aussi  l'exemple complet et son code source.

-
- -
-
- -

Spécification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-start-void-double-when-double-offset-double-duration', 'start()')}}{{Spec2('Web Audio API')}} 
- -

Compatibilité navigateurs

- -

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

- -

Voir aussi

- - diff --git a/files/fr/web/api/audiobuffersourcenode/start/index.md b/files/fr/web/api/audiobuffersourcenode/start/index.md new file mode 100644 index 0000000000..b07993659d --- /dev/null +++ b/files/fr/web/api/audiobuffersourcenode/start/index.md @@ -0,0 +1,85 @@ +--- +title: AudioBufferSourceNode.start() +slug: Web/API/AudioBufferSourceNode/start +translation_of: Web/API/AudioBufferSourceNode/start +--- +

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

+ +
+

La méthode start() de l'interface {{ domxref("AudioBufferSourceNode") }} permet de planifier la lecture du buffer audio.

+
+ +

Syntaxe

+ +
AudioBufferSourceNode.start([when][, offset][, duration]);
+
+ +

Paramètres

+ +
+
when {{optional_inline}}
+
Le paramètre when indique à quel moment la lecture doit commencer. Si when représente une date passée, la lecture commence immédiatement. Si la méthode est invoquée plus d'une fois, ou après un appel à AudioBufferSourceNode.stop(), une exception est levée.
+ Le temps, en secondes, auquel la lecture doit commencer, spécifié dans le même systèmes de coordonnées temporalles utilisé par {{domxref("AudioContext")}}. Si when est inférieur à ({{domxref("AudioContext.currentTime")}}, ou égal à 0, la lecture commence immédiatement. La valeur par défaut est 0.
+
offset {{optional_inline}}
+
Décalage, en secondes, indiquant où la lecture doit commencer. Par example, pour lancer la lecture au milieu d'un son durant 10 secondes, l'offset doit être 5. La valeur par défaut, 0, démarre la lecture au début du buffer. Les valeurs supérieures à la fin du son sont silencieusement ajustées à la valeur maximum possible (basée sur les propriétés {{domxref("AudioBuffer.duration", "duration")}} et/ou {{domxref("AudioBufferSourceNode.loopEnd", "loopEnd")}}). Le calcul du décalage se fait en utilisant le taux d'échantillonnage original, donc même lorsqu'un son est lu au double de sa vitesse, le milieu d'un buffer de 10 secondes est toujours 5.
+
duration {{optional_inline}}
+
Le paramètre duration, dont la valeur par défaut est la longueur du contenu moins le décalage (offset) du début de lecture, indique la longueur du contenu audio qui doit être lue.
+ Durée du son qui doit être lue, en secondes. Si ce paramètre n'est pas spécifié ou a pour valeur 0 (valeur par défaut), le son est lu jusqu'à la fin, s'il n'est pas arrêté par la méthode {{domxref("AudioScheduledSourceNode.stop", "stop()")}}. L'utilisation de ce paramètre est fonctionellement équivalente à l'appel de la méthode start(when, offset) suivi de la méthode stop(when+duration).
+
+ +

Valeur de retour

+ +

{{jsxref("undefined")}}.

+ +

Exceptions

+ +
+
TypeError
+
Une valeur négative a été spécifiée pour au moins l'un des trois paramètres de temps. N'essayez pas de trafiquer les lois de la physique.
+
InvalidStateError
+
start() a déjà été appelé. Cette fonction ne peut être appelée qu'une seule fois pour chaque AudioBufferSourceNode.
+
+ +

Exemples

+ +

L'exemple le plus simple lance la lecture du buffer audio depuis le début - inutile de spécifier des paramètres dans ce cas:

+ +
source.start();
+ +

L'exemple suivant, plus complexe, jouera, après une seconde de pause, un tronçon d'une durée de 10 secondes à partir de la 3ème seconde des données en mémoire.

+ +
source.start(contexteAudio.currentTime + 1,3,10);
+ +
+

Note : Pour un exemple plus complexe montrant la méthode start() en action, consulter l'exemple {{domxref("AudioContext.decodeAudioData")}}. Voir aussi  l'exemple complet et son code source.

+
+ +
+
+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-start-void-double-when-double-offset-double-duration', 'start()')}}{{Spec2('Web Audio API')}} 
+ +

Compatibilité navigateurs

+ +

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

+ +

Voir aussi

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