diff options
Diffstat (limited to 'files/ja/web/api/audiobuffersourcenode/loop/index.html')
-rw-r--r-- | files/ja/web/api/audiobuffersourcenode/loop/index.html | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/files/ja/web/api/audiobuffersourcenode/loop/index.html b/files/ja/web/api/audiobuffersourcenode/loop/index.html new file mode 100644 index 0000000000..9020ee0bce --- /dev/null +++ b/files/ja/web/api/audiobuffersourcenode/loop/index.html @@ -0,0 +1,116 @@ +--- +title: AudioBufferSourceNode.loop +slug: Web/API/AudioBufferSourceNode/loop +tags: + - API + - Audio + - AudioBufferSourceNode + - Loop + - Media + - Property + - Reference + - Web Audio API + - sound + - プロパティ + - メディア + - 繰り返し + - 音声 +translation_of: Web/API/AudioBufferSourceNode/loop +--- +<div>{{ APIRef("Web Audio API") }}</div> + +<div> +<p>{{ domxref("AudioBufferSourceNode") }} の <code>loop</code> プロパティは、 {{domxref("AudioBuffer")}} の末端に達した時に、音声を繰り返し再生するべきかを示す論理値です。</p> +</div> + +<p><code>loop</code> プロパティの既定値は <code>false</code>です。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <var>loopingEnabled</var> = <var>AudioBufferSourceNode</var>.loop; +<var>AudioBufferSourceNode</var>.loop = true | false; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>繰り返しが有効な場合はブール値 <code>true</code> 、それ以外は <code>false</code>です。</p> + +<p>ループが有効である場合、 {{domxref("AudioBufferSourceNode.start", "start()")}} が呼ばれると音声は開始点として指定された場所から再生されます。 {{domxref("AudioBufferSourceNode.loopEnd", "loopEnd")}} で指定された場所に達すると、音声は {{domxref("AudioBufferSourceNode.loopStart", "loopStart")}} で指定された地点に戻って再生され続けます。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>この例では、 {{domxref("AudioContext.decodeAudioData")}} 関数は音声トラックをデコードし {{domxref("AudioBufferSourceNode")}} に追加するために使用されています。再生・停止のためにボタンが配置され、スライダーが <code>playbackRate</code> プロパティを逐次変更するために使用されています。音声はループして再生されます。</p> + +<div class="note"> +<p><a class="external external-icon" href="https://mdn.github.io/webaudio-examples/decode-audio-data/">実際に動作する例を見る</a> (<a class="external external-icon" href="https://github.com/mdn/webaudio-examples/blob/master/decode-audio-data/index.html">または、ソースコードを見る</a>)ことができます。</p> +</div> + +<pre class="brush: js;highlight[17]">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(); +} + +// wire up buttons to stop and play audio, and range slider control + +play.onclick = function() { + getData(); + source.start(0); + play.setAttribute('disabled', 'disabled'); + playbackControl.removeAttribute('disabled'); +}</pre> + +<h2 id="Specification" name="Specification">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-loop', 'loop')}}</td> + <td>{{Spec2('Web Audio API')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2> + +<div> +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.AudioBufferSourceNode.loop")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/API/Web_Audio_API">Web Audio API</a></li> + <li><a href="/ja/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Web Audio API の使用</a></li> + <li>{{domxref("AudioBufferSourceNode")}}</li> +</ul> |