diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 12:07:59 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 12:07:59 +0100 |
commit | 6ef1fa4618e08426b874529619a66adbd3d1fcf0 (patch) | |
tree | 890e3e27131be010d82ef957fa68db495006cb0e /files/ja/web/api/baseaudiocontext/createscriptprocessor/index.html | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-6ef1fa4618e08426b874529619a66adbd3d1fcf0.tar.gz translated-content-6ef1fa4618e08426b874529619a66adbd3d1fcf0.tar.bz2 translated-content-6ef1fa4618e08426b874529619a66adbd3d1fcf0.zip |
unslug ja: move
Diffstat (limited to 'files/ja/web/api/baseaudiocontext/createscriptprocessor/index.html')
-rw-r--r-- | files/ja/web/api/baseaudiocontext/createscriptprocessor/index.html | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/files/ja/web/api/baseaudiocontext/createscriptprocessor/index.html b/files/ja/web/api/baseaudiocontext/createscriptprocessor/index.html new file mode 100644 index 0000000000..d3c80ae2cb --- /dev/null +++ b/files/ja/web/api/baseaudiocontext/createscriptprocessor/index.html @@ -0,0 +1,69 @@ +--- +title: AudioContext.createScriptProcessor() +slug: Web/API/AudioContext/createScriptProcessor +translation_of: Web/API/BaseAudioContext/createScriptProcessor +--- +<p>{{ APIRef("AudioContext") }}</p> +<div class="summary"> + <p><span class="seoSummary">{{ domxref("AudioContext") }} の createScriptProcessor() メソッドを利用することで、ダイレクトな音声処理ができる {{domxref("ScriptProcessorNode")}} オブジェクトを作成できます。</span></p> +</div> +<div class="note"> + <p><strong>注意</strong>: このノードの利用方法に関しては {{domxref("ScriptProcessorNode")}} をご覧ください。</p> +</div> +<h2 id="構文">構文</h2> +<pre class="syntaxbox"><code><em><span class="idlInterface" id="idl-def-AudioContext"><span class="idlMethod"> <span class="idlMethType"><a class="idlType" href="http://webaudio.github.io/web-audio-api/#idl-def-ScriptProcessorNode"><code>ScriptProcessorNode</code></a></span> <span class="idlMethName"><a href="http://webaudio.github.io/web-audio-api/#widl-AudioContext-createScriptProcessor-ScriptProcessorNode-unsigned-long-bufferSize-unsigned-long-numberOfInputChannels-unsigned-long-numberOfOutputChannels">createScriptProcessor</a></span> (<span class="idlParam">optional <span class="idlParamType">unsigned long</span> <span class="idlParamName">bufferSize</span> = <span class="idlDefaultValue">0 </span></span>, <span class="idlParam">optional <span class="idlParamType">unsigned long</span> <span class="idlParamName">numberOfInputChannels</span> = <span class="idlDefaultValue">2 </span></span>, <span class="idlParam">optional <span class="idlParamType">unsigned long</span> <span class="idlParamName">numberOfOutputChannels</span> = <span class="idlDefaultValue">2 </span></span>);</span></span></em></code></pre> +<h2 id="Examples" name="Examples">例</h2> +<p><code>createScriptProcessor()</code>の利用例は以下の通りになります。Web Audio API が提供する機能では望む音声処理を実現できない場合に、このメソッドを利用します。これを利用することで、どの様な音声処理でも記述できます。</p> +<pre class="brush: js;highlight[5]">SineWave = function(context) { + var that = this; + this.x = 0; // Initial sample number + this.context = context; + this.node = context.createScriptProcessor(1024, 1, 1); + this.node.onaudioprocess = function(e) { that.process(e) }; +} + +SineWave.prototype.process = function(e) { + var data = e.outputBuffer.getChannelData(0); + for (var i = 0; i < data.length; ++i) { + data[i] = Math.sin(this.x++); + } +} + +SineWave.prototype.play = function() { + this.node.connect(this.context.destination); +} + +SineWave.prototype.pause = function() { + this.node.disconnect(); +}</pre> +<h2 id="Parameters" name="Parameters">引数</h2> +<dl> + <dt> + <code>bufferSize</code></dt> + <dd> + サンプルフレームを単位としたバッファのサイズです。指定する場合は、次のいずれかの値でなくてはなりません: 256, 512, 1024, 2048, 4096, 8192, 16384 。指定されない場合、もしくは 0 が指定された場合、環境における最適な値が設定されます。この値はノードが生存する限り同じ値が利用され、その値は 2 の冪上です。</dd> + <dd> + この値は <code>audioprocess</code> イベントの発生頻度と、イベントごとに渡されるサンプルフレームの大きさを決めます。小さい値を指定すると低遅延となり、大きな値を指定すると音声の破損やグリッチを避けられます。この値は自分で決めず、実装に決めさせることが遅延と品質の面から推奨されます。</dd> + <dt> + <code>numberOfInputChannels</code></dt> + <dd> + 入力のチャンネル数を整数で指定します。デフォルト値は 2 で、最大 32 チャンネルまでサポートします。</dd> + <dt> + <code>numberOfOutputChannels</code></dt> + <dd> + 出力するチャンネル数を整数で指定します。デフォルト値は 2 で、最大 32 チャンネルまでサポートします。</dd> +</dl> +<div class="warning"> + <p><strong>Important</strong>: Webkit currently (version 31) requires that a valid <code>bufferSize</code> be passed when calling this method.</p> +</div> +<div class="note"> + <p><strong>注意</strong>: <code>numberOfInputChannels</code> と <code>numberOfOutputChannels</code> の両方に 0 を指定することはできません。</p> +</div> +<h2 id="Description" name="Description">返り値</h2> +<p>A {{domxref("ScriptProcessorNode")}}.</p> +<h2 id="ブラウザ互換性">ブラウザ互換性</h2> +<p>{{page("/en-US/docs/Web/API/AudioContext","Browser_compatibility")}}</p> +<h2 id="仕様">仕様</h2> +<p>{{page("/en-US/docs/Web/API/AudioContext","Specifications")}}</p> +<h2 id="関連情報">関連情報</h2> +<p>{{page("/en-US/docs/Web/API/AudioContext","See_also")}}</p> |