aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/audiobuffersourcenode
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/web/api/audiobuffersourcenode')
-rw-r--r--files/ja/web/api/audiobuffersourcenode/index.html234
-rw-r--r--files/ja/web/api/audiobuffersourcenode/loop/index.html116
-rw-r--r--files/ja/web/api/audiobuffersourcenode/onended/index.html107
-rw-r--r--files/ja/web/api/audiobuffersourcenode/start/index.html123
-rw-r--r--files/ja/web/api/audiobuffersourcenode/stop/index.html119
5 files changed, 699 insertions, 0 deletions
diff --git a/files/ja/web/api/audiobuffersourcenode/index.html b/files/ja/web/api/audiobuffersourcenode/index.html
new file mode 100644
index 0000000000..709bc6abbf
--- /dev/null
+++ b/files/ja/web/api/audiobuffersourcenode/index.html
@@ -0,0 +1,234 @@
+---
+title: AudioBufferSourceNode
+slug: Web/API/AudioBufferSourceNode
+translation_of: Web/API/AudioBufferSourceNode
+---
+<p>{{APIRef("Web Audio API")}}</p>
+
+<div class="summary">
+<p><span class="seoSummary"><strong><code>AudioBufferSourceNode</code></strong>は{{domxref("AudioScheduledSourceNode")}}を継承するインタフェースで、{{domxref("AudioBuffer")}}に保存されたインメモリ音声データからなるオーディオソースを表します。<code>AudioBufferSourceNode</code>は、再生するタイミングに高い正確性が求められる音声を繰り返し再生する場合特に有益です。例えば、特定のリズムに合わせて、ディスクやネットワークからではなくメモリから読みだした音声を再生するといった場合です。正確なタイミングで音声を再生したいものの、音声データがディスクやネットワークから読み込まれる必要がある場合は{{domxref("AudioWorkletNode")}}を使用してください。</span></p>
+
+<p>{{InheritanceDiagram(600, 140)}}</p>
+
+<p><code>AudioBufferSourceNode</code> は入力がなく、その出力は 1 つで、出力されるチャンネル数は AudioBufferSourceNode.buffer で参照される {{domxref("AudioBuffer")}} のチャンネル数によって決まります。この属性値が NULL の場合、つまりバッファがセットされていない場合、無音が出力されます。{{domxref("AudioBufferSourceNode")}}は一度しか再生できません。つまり、<code>AudioBufferSourceNode.start()</code>の呼び出しは一度しかできません。もし、再び再生するならば、別の<code>AudioBufferSourceNode</code>を生成する必要があります。これらのノードは安価に生成でき、<code>AudioBuffer</code>は何度も再生できます。よく<code>AudioBufferSourceNode</code>は「撃ちっぱなし」で使わなければならない、と言われます。つまり、一度再生を始めると、そのノードへの参照はなくなり、自動的にガベージコレクトされます。</p>
+</div>
+
+<p><code>AudioBufferSourceNode.stop()</code>は何度も呼ぶことができます。<code>AudioBufferSourceNode</code>がバッファの最後に達していないならば、最後の呼び出しがその前の呼び出しを上書きします。</p>
+
+<p><br>
+ <img alt="The AudioBufferSourceNode takes the content of an AudioBuffer and m" src="https://mdn.mozillademos.org/files/5155/WebAudioAudioBufferSourceNode.png" style="display: block; height: 200px; margin: 0px auto; width: 376px;"></p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">Number of inputs</th>
+ <td><code>0</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Number of outputs</th>
+ <td><code>1</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Channel count</th>
+ <td>defined by the associated {{domxref("AudioBuffer")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="コンストラクタ">コンストラクタ</h2>
+
+<dl>
+ <dt>{{domxref("AudioBufferSourceNode.AudioBufferSourceNode", "AudioBufferSourceNode()")}}</dt>
+ <dd><code>AudioBufferSourceNode</code> オブジェクトを新しく作成して返します。{{domxref("AudioBufferSourceNode")}}は{{domxref("AudioContext.createBufferSource()")}}メソッドを用いてインスタンス化することができます。</dd>
+</dl>
+
+<h2 id="プロパティ">プロパティ</h2>
+
+<p><em>親である{{domxref("AudioNode")}}のプロパティを継承しています。</em></p>
+
+<dl>
+ <dt>{{domxref("AudioBufferSourceNode.buffer")}}</dt>
+ <dd>再生される音声の{{domxref("AudioBuffer")}}です。NULLの場合1チャンネルからなる無音の音声(すべてのサンプルが0.0)です。</dd>
+ <dt>{{domxref("AudioBufferSourceNode.detune")}}</dt>
+ <dd><a href="https://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%B3%E3%83%88_%28%E9%9F%B3%E6%A5%BD%29">セント</a>単位のデチューンを表す<a href="/ja/docs/DOM/AudioParam#k-rate">k-rate</a>{{domxref("AudioParam")}}です。この値と<code>playbackRate</code>の組み合わせで音声が再生される速度が決定されます。デフォルト値は0(デチューンなし)で、公称範囲は -∞ から ∞ です。</dd>
+ <dt>{{domxref("AudioBufferSourceNode.loop")}}</dt>
+ <dd>{{domxref("AudioBuffer")}}の最後に達したとき再び再生するかを表すブール値です。デフォルトは<code>false</code>です。</dd>
+ <dt>{{domxref("AudioBufferSourceNode.loopStart")}} {{optional_inline}}</dt>
+ <dd><code>loop</code>が<code>true</code>のとき、{{domxref("AudioBuffer")}}を再び再生する位置(秒単位)を表す浮動小数点数です。デフォルトは0で、これは音声の初めからループが始まることを意味します。</dd>
+ <dt>{{domxref("AudioBufferSourceNode.loopEnd")}} {{optional_inline}}</dt>
+ <dd><code>loop</code>が<code>true</code>のとき、{{domxref("AudioBuffer")}}の再生を停止して<code>loopStart</code>の地点に戻る位置(秒単位)を表す浮動小数点数です。デフォルトは0です。</dd>
+ <dt>{{domxref("AudioBufferSourceNode.playbackRate")}}</dt>
+ <dd>再生される音声の速度要素を表す<a href="/ja/docs/Web/API/AudioParam#a-rate">a-rate</a>{{domxref("AudioParam")}}です。この値が1.0のとき通常のサンプリングレートで出力されます。出力にピッチの修正が適用されない場合は、サンプルのピッチの変更に使うことができます。この値と<code>detune</code>の組み合わせで音声が再生される速度が決定されます。</dd>
+</dl>
+
+<h3 id="イベントハンドラ">イベントハンドラ</h3>
+
+<p><em>親である{{domxref("AudioScheduledSourceNode")}}のイベントハンドラを継承しています。</em></p>
+
+<dl>
+ <dt>{{domxref("AudioBufferSourceNode.onended")}}</dt>
+ <dd>{{event("ended_(Web_Audio)", "ended")}}イベントに関するコールバックを格納したイベントハンドラです。</dd>
+</dl>
+
+<h2 id="メソッド">メソッド</h2>
+
+<p><em>親である{{domxref("AudioNode")}}のメソッドを継承しています。</em></p>
+
+<dl>
+ <dt>{{domxref("AudioBufferSourceNode.start()")}}</dt>
+ <dd>設定された音声の再生をスケジュールするか、直ちに再生します。</dd>
+ <dt>{{domxref("AudioBufferSourceNode.stop()")}}</dt>
+ <dd>設定された音声の再生の停止をスケジュールするか、直ちに停止します。</dd>
+</dl>
+
+<h2 id="例">例</h2>
+
+<p>次の例は、2秒間のバッファを生成し、ホワイトノイズを書き込み、<a href="https://developer.mozilla.org/ja/docs/Web/API/AudioBufferSourceNode" title="The AudioBufferSourceNode インタフェーエスはメモリ上にある音声データ (AudioBuffer) を扱うオーディオソースを表します。このオブジェクトはオーディオソースとなる AudioNode です。"><code>AudioBufferSourceNode</code></a>で再生します。コメントは何をしているかを簡単に説明しています。</p>
+
+<div class="note">
+<p><strong>注: </strong><a class="external external-icon" href="https://mdn.github.io/webaudio-examples/audio-buffer/">コードをすぐに実行する</a>ことや、<a class="external external-icon" href="https://github.com/mdn/webaudio-examples/blob/master/audio-buffer/index.html">ソースコードを閲覧する</a>こともできます。</p>
+</div>
+
+<pre class="brush: js language-js"><code class="language-js"><span class="keyword token">var</span> audioCtx <span class="operator token">=</span> <span class="keyword token">new</span> <span class="punctuation token">(</span>window<span class="punctuation token">.</span>AudioContext <span class="operator token">||</span> window<span class="punctuation token">.</span>webkitAudioContext<span class="punctuation token">)</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="keyword token">var</span> button <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">querySelector<span class="punctuation token">(</span></span><span class="string token">'button'</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="keyword token">var</span> pre <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">querySelector<span class="punctuation token">(</span></span><span class="string token">'pre'</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="keyword token">var</span> myScript <span class="operator token">=</span> document<span class="punctuation token">.</span><span class="function token">querySelector<span class="punctuation token">(</span></span><span class="string token">'script'</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+
+pre<span class="punctuation token">.</span>innerHTML <span class="operator token">=</span> myScript<span class="punctuation token">.</span>innerHTML<span class="punctuation token">;</span>
+<span class="comment token">
+// </span></code>ステレオ<code class="language-js"><span class="comment token">
+</span><span class="keyword token">var</span> channels <span class="operator token">=</span> <span class="number token">2</span><span class="punctuation token">;</span><span class="comment token">
+// </span></code>AudioContextのサンプルレートで2秒間の空のステレオバッファを生成する<code class="language-js"><span class="comment token">
+</span><span class="keyword token">var</span> frameCount <span class="operator token">=</span> audioCtx<span class="punctuation token">.</span>sampleRate <span class="operator token">*</span> <span class="number token">2.0</span><span class="punctuation token">;</span>
+
+<span class="keyword token">var</span> myArrayBuffer <span class="operator token">=</span> audioCtx<span class="punctuation token">.</span><span class="function token">createBuffer<span class="punctuation token">(</span></span><span class="number token">2</span><span class="punctuation token">,</span> frameCount<span class="punctuation token">,</span> audioCtx<span class="punctuation token">.</span>sampleRate<span class="punctuation token">)</span><span class="punctuation token">;</span>
+
+button<span class="punctuation token">.</span>onclick <span class="operator token">=</span> <span class="keyword token">function</span><span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
+ <span class="comment token"> // </span></code>バッファにホワイトノイズを書き込む;
+  // 単なる-1.0から1.0の間の乱数の値である<code class="language-js"><span class="comment token">
+</span> <span class="keyword token">for</span> <span class="punctuation token">(</span><span class="keyword token">var</span> channel <span class="operator token">=</span> <span class="number token">0</span><span class="punctuation token">;</span> channel <span class="operator token">&lt;</span> channels<span class="punctuation token">;</span> channel<span class="operator token">++</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
+ <span class="comment token"> // </span></code>実際のデータの配列を得る<code class="language-js"><span class="comment token">
+</span> <span class="keyword token">var</span> nowBuffering <span class="operator token">=</span> myArrayBuffer<span class="punctuation token">.</span><span class="function token">getChannelData<span class="punctuation token">(</span></span>channel<span class="punctuation token">)</span><span class="punctuation token">;</span>
+ <span class="keyword token">for</span> <span class="punctuation token">(</span><span class="keyword token">var</span> i <span class="operator token">=</span> <span class="number token">0</span><span class="punctuation token">;</span> i <span class="operator token">&lt;</span> frameCount<span class="punctuation token">;</span> i<span class="operator token">++</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
+ <span class="comment token"> // </span></code>Math.random()は[0; 1.0]である
+     // 音声は[-1.0; 1.0]である必要がある<code class="language-js"><span class="comment token">
+</span> nowBuffering<span class="punctuation token">[</span>i<span class="punctuation token">]</span> <span class="operator token">=</span> Math<span class="punctuation token">.</span><span class="function token">random<span class="punctuation token">(</span></span><span class="punctuation token">)</span> <span class="operator token">*</span> <span class="number token">2</span> <span class="operator token">-</span> <span class="number token">1</span><span class="punctuation token">;</span>
+ <span class="punctuation token">}</span>
+ <span class="punctuation token">}</span>
+
+ <span class="comment token"> // </span></code>AudioBufferSourceNodeを得る
+  // これはAudioBufferを再生するときに使うAudioNodeである<code class="language-js"><span class="comment token">
+</span> <span class="keyword token">var</span> source <span class="operator token">=</span> audioCtx<span class="punctuation token">.</span><span class="function token">createBufferSource<span class="punctuation token">(</span></span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+ <span class="comment token"> // </span></code>AudioBufferSourceNodeにバッファを設定する<code class="language-js"><span class="comment token">
+</span> source<span class="punctuation token">.</span>buffer <span class="operator token">=</span> myArrayBuffer<span class="punctuation token">;</span>
+ <span class="comment token"> // </span></code>AudioBufferSourceNodeを出力先に接続すると音声が聞こえるようになる<code class="language-js"><span class="comment token">
+</span> source<span class="punctuation token">.</span><span class="function token">connect<span class="punctuation token">(</span></span>audioCtx<span class="punctuation token">.</span>destination<span class="punctuation token">)</span><span class="punctuation token">;</span>
+ <span class="comment token"> // </span></code>音源の再生を始める<code class="language-js"><span class="comment token">
+</span> source<span class="punctuation token">.</span><span class="function token">start<span class="punctuation token">(</span></span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="punctuation token">}</span></code></pre>
+
+<div class="note">
+<p><strong>注:</strong> <code>decodeAudioData</code>の例は、{{domxref("AudioContext.decodeAudioData")}}のページを参照してください。</p>
+</div>
+
+<h2 id="仕様">仕様</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Web Audio API', '#AudioBufferSourceNode-section', 'AudioBufferSourceNode')}}</td>
+ <td>{{Spec2('Web Audio API')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="ブラウザ互換性">ブラウザ互換性</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>14 {{property_prefix("webkit")}}</td>
+ <td>{{CompatGeckoDesktop("23.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>15 {{property_prefix("webkit")}}<br>
+ 22</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ <tr>
+ <td><code>detune</code> property</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("40.0")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>Firefox OS</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatNo}}</td>
+ <td>28 {{property_prefix("webkit")}}</td>
+ <td>{{CompatGeckoMobile("25.0")}}</td>
+ <td>1.2</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ <tr>
+ <td><code>detune</code> property</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Chrome_notes">Chrome notes</h3>
+
+<p>The buffer property was removed in {{CompatChrome(44.0)}}.</p>
+</div>
+
+<p> </p>
+
+<h2 id="関連情報">関連情報</h2>
+
+<ul>
+ <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Using the Web Audio API</a></li>
+</ul>
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>
diff --git a/files/ja/web/api/audiobuffersourcenode/onended/index.html b/files/ja/web/api/audiobuffersourcenode/onended/index.html
new file mode 100644
index 0000000000..c12625637b
--- /dev/null
+++ b/files/ja/web/api/audiobuffersourcenode/onended/index.html
@@ -0,0 +1,107 @@
+---
+title: AudioBufferSourceNode.onended
+slug: Web/API/AudioBufferSourceNode/onended
+translation_of: Web/API/AudioScheduledSourceNode/onended
+---
+<p>{{ APIRef("AudioBufferSourceNode") }}</p>
+
+<div><code style="font-style: normal;">AudioBufferSourceNodeの</code><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">onended</code><span style="line-height: 1.5;"> イベントハンドラーは</span><span style="line-height: 1.5;">{{event("ended_(Web_Audio)", "ended")}} イベントに関するコ−ルバック関数を格納します。これによりオーディオトラックの再生終了時に実行するコードを設定することができます。</span></div>
+
+<div class="note">
+<p><strong>注</strong>: <code>onended</code> ハンドラーは loop プロパティーがtrueに設定されている場合はオーディオが再生終了することが無いので効果がありません。このような場合にこの機能を有効にするには {{ domxref("AudioBufferSourceNode.stop()") }} を使用してください。</p>
+</div>
+
+<h2 id="構文">構文</h2>
+
+<pre class="brush: js;highlight[20]">var source = audioCtx.createBufferSource();
+source.onended = function() { ... };
+</pre>
+
+<h2 id="用例">用例</h2>
+
+<pre class="brush: js">source.start();
+source.onended = function() {
+ console.log('Your audio has finished playing');
+}</pre>
+
+<h2 id="プロパティ">プロパティ</h2>
+
+<p>有りません。</p>
+
+<h2 id="仕様">仕様</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-onended', 'onended')}}</td>
+ <td>{{Spec2('Web Audio API')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="ブラウザー互換性">ブラウザー互換性</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>14 {{property_prefix("webkit")}}</td>
+ <td>23</td>
+ <td>{{CompatNo}}</td>
+ <td>15 {{property_prefix("webkit")}}<br>
+ 22 (unprefixed)</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>Firefox OS</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatNo}}</td>
+ <td>28 {{property_prefix("webkit")}}</td>
+ <td>25</td>
+ <td>1.2</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="関連情報">関連情報</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Web Audio API</a>を使う</li>
+</ul>
diff --git a/files/ja/web/api/audiobuffersourcenode/start/index.html b/files/ja/web/api/audiobuffersourcenode/start/index.html
new file mode 100644
index 0000000000..b8116686fe
--- /dev/null
+++ b/files/ja/web/api/audiobuffersourcenode/start/index.html
@@ -0,0 +1,123 @@
+---
+title: AudioBufferSourceNode.start()
+slug: Web/API/AudioBufferSourceNode/start
+translation_of: Web/API/AudioBufferSourceNode/start
+---
+<p>{{ APIRef("Web Audio API") }}</p>
+
+<div>
+<p>インターフェースの<code>start()</code>メソッドは、オーディオバッファの再生をスケジュールするために使われます。</p>
+</div>
+
+<h2 id="構文">構文</h2>
+
+<pre class="brush: js;highlight[2]">var source = audioCtx.createBufferSource();
+source.start(when, offset, duration);
+</pre>
+
+<h2 id="例">例</h2>
+
+<p>最も単純なオーディオバッファの再生方法—この場合は何もパラメータを指定する必要はありません。</p>
+
+<pre class="brush: js">source.start();</pre>
+
+<p>次はそれよりも複雑な再生方法です。1秒待った後、オーディオバッファの3秒経過した位置から、10秒間再生します。</p>
+
+<pre class="brush: js">source.start(audioCtx.currentTime + 1,3,10);</pre>
+
+<div class="note">
+<p><strong>注: </strong>start()の使い方の完全な例は{{domxref("AudioContext.decodeAudioData")}}を参照してください。<a class="external-icon external" href="http://mdn.github.io/decode-audio-data/">コードをすぐに実行する</a>ことや、<a class="external-icon external" href="https://github.com/mdn/decode-audio-data">ソースコードを閲覧する</a>こともできます。</p>
+</div>
+
+<h3 id="戻り値">戻り値</h3>
+
+<p>なし</p>
+
+<h2 id="引数">引数</h2>
+
+<dl>
+ <dt>when</dt>
+ <dd><code>whenパラメータ</code>は、再生が<em>いつ</em>始まるかを決定します。<code>when</code>の時刻を過ぎると、再生が始まります。このメソッドが2回以上、または<code>AudioBufferSourceNode.stop()</code>の後に呼ばれると、例外が発生します</dd>
+ <dt>offset</dt>
+ <dd><code>offset</code>パラメータは、再生が<em>どこから</em>始まるかを決定します</dd>
+ <dt>duration</dt>
+ <dd><code>duration</code>パラメータは、デフォルトは音声の長さから<code>offset</code>の値を引いた値で、再生時間を決定します</dd>
+</dl>
+
+<h2 id="仕様">仕様</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-start-void-double-when-double-offset-double-duration', 'start()')}}</td>
+ <td>{{Spec2('Web Audio API')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="ブラウザ互換性">ブラウザ互換性</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>14 {{property_prefix("webkit")}}</td>
+ <td>23</td>
+ <td>{{CompatNo}}</td>
+ <td>15 {{property_prefix("webkit")}}<br>
+ 22 (unprefixed)</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>Firefox OS</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatNo}}</td>
+ <td>28 {{property_prefix("webkit")}}</td>
+ <td>25</td>
+ <td>1.2</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="参考">参考</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Using the Web Audio API</a></li>
+</ul>
diff --git a/files/ja/web/api/audiobuffersourcenode/stop/index.html b/files/ja/web/api/audiobuffersourcenode/stop/index.html
new file mode 100644
index 0000000000..0e40d267b8
--- /dev/null
+++ b/files/ja/web/api/audiobuffersourcenode/stop/index.html
@@ -0,0 +1,119 @@
+---
+title: AudioBufferSourceNode.stop()
+slug: Web/API/AudioBufferSourceNode/stop
+translation_of: Web/API/AudioScheduledSourceNode/stop
+---
+<p>{{ APIRef("Web Audio API") }}</p>
+
+<div>
+<p>インターフェースの<code>stop()</code>メソッドは、オーディオバッファの再生を停止させるために使われます。</p>
+</div>
+
+<h2 id="構文">構文</h2>
+
+<pre class="brush: js;highlight[20]">var source = audioCtx.createBufferSource();
+source.stop(when);
+</pre>
+
+<h2 id="例">例</h2>
+
+<p>最も単純なオーディオバッファ再生の停止方法—この場合は何もパラメータを指定する必要はありません。</p>
+
+<pre class="brush: js">source.stop();</pre>
+
+<p>しばらく後に停止させたい場合は、引数として秒数を指定します。</p>
+
+<pre class="brush: js">source.stop(3);</pre>
+
+<div class="note">
+<p><strong>注: </strong>stop()の使い方の完全な例は<a href="https://developer.mozilla.org/ja/docs/Web/API/AudioContext/decodeAudioData" title="これはオーディオトラックからWeb Audio APIで音源を生成するよい方法です。"><code>AudioContext.decodeAudioData</code></a>を参照してください。<a class="external-icon external" href="http://mdn.github.io/decode-audio-data/">コードをすぐに実行する</a>ことや、<a class="external-icon external" href="https://github.com/mdn/decode-audio-data">ソースコードを閲覧する</a>こともできます。</p>
+</div>
+
+<h2 id="引数">引数</h2>
+
+<dl>
+ <dt>when</dt>
+ <dd><code>when</code>パラメータは、再生を<em>いつ</em>停止するかを決定します。指定の時間を経過すると、再生はすぐに停止します。このメソッドが2回以上呼ばれると、例外が発生します</dd>
+</dl>
+
+<h2 id="戻り値">戻り値</h2>
+
+<p>なし</p>
+
+<h2 id="使用">使用</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-stop-void-double-when', 'stop()')}}</td>
+ <td>{{Spec2('Web Audio API')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="ブラウザ互換性">ブラウザ互換性</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>14 {{property_prefix("webkit")}}</td>
+ <td>23</td>
+ <td>{{CompatNo}}</td>
+ <td>15 {{property_prefix("webkit")}}<br>
+ 22 (unprefixed)</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>Firefox OS</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatNo}}</td>
+ <td>28 {{property_prefix("webkit")}}</td>
+ <td>25</td>
+ <td>1.2</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>6 {{property_prefix("webkit")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="参考">参考</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Using the Web Audio API</a></li>
+</ul>