Skip to content

Commit

Permalink
AutoCorrect files/zh-cn/web/api/b*/
Browse files Browse the repository at this point in the history
  • Loading branch information
huacnlee committed May 31, 2022
1 parent 8e42ddb commit 1f236ab
Show file tree
Hide file tree
Showing 40 changed files with 164 additions and 164 deletions.
62 changes: 31 additions & 31 deletions files/zh-cn/web/api/background_tasks_api/index.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ <h3 id="Description" name="Description">返回值</h3>

<h2 id="Examples" name="Examples">例子</h2>

<p>下面的例子展示了AudioContext创建分析器节点的基本用法,然后用requestAnimationFrame()来反复获取时域数据,并绘制出当前音频输入的“示波器风格”输出。更多完整例子请查看<a href="https://mdn.github.io/voice-change-o-matic/">Voice-change-O-matic</a> demo (中<a href="https://github.com/mdn/voice-change-o-matic/blob/gh-pages/scripts/app.js#L128-L205">app.js的128–205行</a>代码)</p>
<p>下面的例子展示了 AudioContext 创建分析器节点的基本用法,然后用 requestAnimationFrame() 来反复获取时域数据,并绘制出当前音频输入的“示波器风格”输出。更多完整例子请查看<a href="https://mdn.github.io/voice-change-o-matic/">Voice-change-O-matic</a> demo (中<a href="https://github.com/mdn/voice-change-o-matic/blob/gh-pages/scripts/app.js#L128-L205">app.js 的 128–205 行</a>代码)</p>

<pre class="brush: js">var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var analyser = audioCtx.createAnalyser();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ <h3 id="Description" name="Description">返回</h3>

<h2 id="Example" name="Example">示例</h2>

<p>这个例子展示了一个利用AudioContext 创建四项滤波器节点( Biquad filter node)的例子。想要查看完整工作的示例,请查看我们的For <a href="http://mdn.github.io/voice-change-o-matic/">voice-change-o-matic</a> 样例 (也可以查看  <a href="https://github.com/mdn/voice-change-o-matic">源码</a> ).</p>
<p>这个例子展示了一个利用 AudioContext 创建四项滤波器节点(Biquad filter node)的例子。想要查看完整工作的示例,请查看我们的 For <a href="http://mdn.github.io/voice-change-o-matic/">voice-change-o-matic</a> 样例(也可以查看  <a href="https://github.com/mdn/voice-change-o-matic">源码</a> ).</p>

<pre class="brush: js">var audioCtx = new (window.AudioContext || window.webkitAudioContext)();

Expand Down
28 changes: 14 additions & 14 deletions files/zh-cn/web/api/baseaudiocontext/createbuffer/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
---
<p>音频环境{{ domxref("AudioContext") }} 接口的 <code>createBuffer() 方法用于新建一个空</code>白的 {{ domxref("AudioBuffer") }} 对象,以便用于填充数据,通过 {{ domxref("AudioBufferSourceNode") }} 播放。</p>

<p>更多关于音频片段(Audio Buffer)的细节,请参考{{ domxref("AudioBuffer") }}页面。</p>
<p>更多关于音频片段 (Audio Buffer) 的细节,请参考{{ domxref("AudioBuffer") }}页面。</p>

<div class="note">
<p><strong>注意:</strong> <code>createBuffer()</code> 曾被用于接收压缩后的音频数据,并返回被解码的音频,但是这项功能现在已经被移除,因为所有的解码工作应当在主线程中被完成,<code>createBuffer()</code> 阻塞了其他代码的执行。异步方法 <code>decodeAudioData()</code> 能够完成相同的工作 —— 传入一个压缩过的音频(如MP3格式的文件),并直接返回一个可以通过 {{ domxref("AudioBufferSourceNode") }} 播放的 {{ domxref("AudioBuffer") }} 。因此播放诸如MP3等格式的压缩音频时,你应当使用 <code>decodeAudioData() 方法。</code></p>
<p><strong>注意:</strong> <code>createBuffer()</code> 曾被用于接收压缩后的音频数据,并返回被解码的音频,但是这项功能现在已经被移除,因为所有的解码工作应当在主线程中被完成,<code>createBuffer()</code> 阻塞了其他代码的执行。异步方法 <code>decodeAudioData()</code> 能够完成相同的工作 —— 传入一个压缩过的音频(如 MP3 格式的文件),并直接返回一个可以通过 {{ domxref("AudioBufferSourceNode") }} 播放的 {{ domxref("AudioBuffer") }} 。因此播放诸如 MP3 等格式的压缩音频时,你应当使用 <code>decodeAudioData() 方法。</code></p>
</div>

<h2 id="语法">语法</h2>
Expand All @@ -30,12 +30,12 @@ <h3 id="参数">参数</h3>
<dl>
<dt>numOfChannels</dt>
<dd>一个定义了 buffer 中包含的声频通道数量的整数。<br>
一个标准的实现必须包含至少32个声频通道</dd>
一个标准的实现必须包含至少 32 个声频通道</dd>
<dt> </dt>
<dt>length</dt>
<dd>一个代表 buffer 中的样本帧数的整数。</dd>
<dt>sampleRate</dt>
<dd>线性音频样本的采样率,即每一秒包含的关键帧的个数。实现过程中必须支持 22050~96000的采样率</dd>
<dd>线性音频样本的采样率,即每一秒包含的关键帧的个数。实现过程中必须支持 22050~96000 的采样率</dd>
</dl>

<p> </p>
Expand All @@ -51,18 +51,18 @@ <h2 id="示例">示例</h2>
<pre class="brush: js">var audioCtx = new AudioContext();
var buffer = audioCtx.createBuffer(2, 22050, 44100);</pre>

<p>如果你这样调用,你将会得到一个立体声(两个声道)的音频片段(Buffer),当它在一个频率为44100赫兹(这是目前大部分声卡处理声音的频率)的音频环境({{ domxref("AudioContext") }})中播放的时候,会持续0.5秒:22050帧 / 44100赫兹 = 0.5 秒。</p>
<p>如果你这样调用,你将会得到一个立体声(两个声道)的音频片段 (Buffer),当它在一个频率为 44100 赫兹(这是目前大部分声卡处理声音的频率)的音频环境 ({{ domxref("AudioContext") }}) 中播放的时候,会持续 0.5 秒:22050 帧 / 44100 赫兹 = 0.5 秒。</p>

<pre class="brush: js">var audioCtx = new AudioContext();
var buffer = audioCtx.createBuffer(1, 22050, 22050);</pre>

<p>如果你这样调用,你将会得到一个单声道的音频片段(Buffer),当它在一个频率为44100赫兹的音频环境({{ domxref("AudioContext") }})中播放的时候,将会被自动按照44100赫兹*重采样*(因此也会转化为44100赫兹的片段),并持续1秒:44100帧 / 44100赫兹 = 1秒</p>
<p>如果你这样调用,你将会得到一个单声道的音频片段 (Buffer),当它在一个频率为 44100 赫兹的音频环境 ({{ domxref("AudioContext") }}) 中播放的时候,将会被自动按照 44100 赫兹*重采样*(因此也会转化为 44100 赫兹的片段),并持续 1 秒:44100 帧 / 44100 赫兹 = 1 秒</p>

<div class="note">
<p><strong>注意:</strong> 音频重采样与图片的缩放非常类似:比如你有一个16 x 16的图像,但是你想把它填充到一个32 x 32大小的区域,你就要对它进行缩放(重采样)。得到的结果会是一个低品质的图像(图像会模糊或者有锯齿形的边缘,这取决于缩放采用的算法),但它能缩放原图像,并且缩放后的图像占用空间比相同大小的普通图像要小。重采样的音频原理相同——你能节省一些空间,但由此你也无法得到高频率的声音(高音区)。</p>
<p><strong>注意:</strong> 音频重采样与图片的缩放非常类似:比如你有一个 16 x 16 的图像,但是你想把它填充到一个 32 x 32 大小的区域,你就要对它进行缩放(重采样)。得到的结果会是一个低品质的图像(图像会模糊或者有锯齿形的边缘,这取决于缩放采用的算法),但它能缩放原图像,并且缩放后的图像占用空间比相同大小的普通图像要小。重采样的音频原理相同——你能节省一些空间,但由此你也无法得到高频率的声音(高音区)。</p>
</div>

<p>现在让我们来看一个更加复杂的示例,我们将创建一个时长2秒的音频片段,并用白噪声填充它,之后通过一个 音频片段源节点({{ domxref("AudioBufferSourceNode") }}) 播放。代码中的注释应该能充分解释发生了什么。你可以 <a href="http://mdn.github.io/audio-buffer/">在线演示</a> ,或者 <a href="https://github.com/mdn/audio-buffer">查看源代码</a></p>
<p>现在让我们来看一个更加复杂的示例,我们将创建一个时长 2 秒的音频片段,并用白噪声填充它,之后通过一个 音频片段源节点 ({{ domxref("AudioBufferSourceNode") }}) 播放。代码中的注释应该能充分解释发生了什么。你可以 <a href="http://mdn.github.io/audio-buffer/">在线演示</a> ,或者 <a href="https://github.com/mdn/audio-buffer">查看源代码</a></p>

<pre class="brush: js;highlight[13]">var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var button = document.querySelector('button');
Expand All @@ -73,7 +73,7 @@ <h2 id="示例">示例</h2>

// 立体声
var channels = 2;
// 创建一个 采样率与音频环境(AudioContext)相同的 时长2秒的 音频片段。
// 创建一个 采样率与音频环境 (AudioContext) 相同的 时长 2 秒的 音频片段。
var frameCount = audioCtx.sampleRate * 2.0;

var myArrayBuffer = audioCtx.createBuffer(channels, frameCount, audioCtx.sampleRate);
Expand All @@ -82,7 +82,7 @@ <h2 id="示例">示例</h2>
// 使用白噪声填充;
// 就是 -1.0 到 1.0 之间的随机数
for (var channel = 0; channel &lt; channels; channel++) {
// 这允许我们读取实际音频片段(AudioBuffer)中包含的数据
// 这允许我们读取实际音频片段 (AudioBuffer) 中包含的数据
var nowBuffering = myArrayBuffer.getChannelData(channel);
for (var i = 0; i &lt; frameCount; i++) {
// Math.random() is in [0; 1.0]
Expand All @@ -91,13 +91,13 @@ <h2 id="示例">示例</h2>
}
}

// 获取一个 音频片段源节点(AudioBufferSourceNode)。
// 获取一个 音频片段源节点 (AudioBufferSourceNode)。
// 当我们想播放音频片段时,我们会用到这个源节点。
var source = audioCtx.createBufferSource();
// 把刚才生成的片段加入到 音频片段源节点(AudioBufferSourceNode)。
// 把刚才生成的片段加入到 音频片段源节点 (AudioBufferSourceNode)。
source.buffer = myArrayBuffer;
// 把 音频片段源节点(AudioBufferSourceNode) 连接到
// 音频环境(AudioContext) 的终节点,这样我们就能听到声音了。
// 把 音频片段源节点 (AudioBufferSourceNode) 连接到
// 音频环境 (AudioContext) 的终节点,这样我们就能听到声音了。
source.connect(audioCtx.destination);
// 开始播放声源
source.start();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<p>{{ APIRef("Web Audio API") }}</p>

<div>
<p><code>createBufferSource()</code> 方法用于创建一个新的{{ domxref("AudioBufferSourceNode") }}接口, 该接口可以通过{{ domxref("AudioBuffer") }} 对象来播放音频数据. {{ domxref("AudioBuffer") }}对象可以通过{{domxref("AudioContext.createBuffer")}} 来创建或者通过 {{domxref("AudioContext.decodeAudioData")}}成功解码音轨后获取.</p>
<p><code>createBufferSource()</code> 方法用于创建一个新的{{ domxref("AudioBufferSourceNode") }}接口该接口可以通过{{ domxref("AudioBuffer") }} 对象来播放音频数据{{ domxref("AudioBuffer") }}对象可以通过{{domxref("AudioContext.createBuffer")}} 来创建或者通过 {{domxref("AudioContext.decodeAudioData")}}成功解码音轨后获取</p>
</div>

<h2 id="语法">语法</h2>
Expand All @@ -22,11 +22,11 @@ <h2 id="语法">语法</h2>

<h2 id="返回">返回</h2>

<p>一个{{domxref("AudioBufferSourceNode")}}对象.</p>
<p>一个{{domxref("AudioBufferSourceNode")}}对象</p>

<h2 id="例子">例子</h2>

<p>在这个例子中, 我们将会创建一个2秒的缓冲器,并用白噪音填充它, 然后通过{{ domxref("AudioBufferSourceNode") }}来播放它. </p>
<p>在这个例子中,我们将会创建一个 2 秒的缓冲器,并用白噪音填充它,然后通过{{ domxref("AudioBufferSourceNode") }}来播放它. </p>

<div class="note">
<p><strong>Note</strong>: You can also <a href="http://mdn.github.io/audio-buffer/">run the code live</a>, or <a href="https://github.com/mdn/audio-buffer">view the source</a>.</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ <h3 id="参数">参数</h3>

<dl>
<dt>numberOfInputs</dt>
<dd>通道输入音频流的数量,输出流将包含这个数量的通道。默认值6</dd>
<dd>通道输入音频流的数量,输出流将包含这个数量的通道。默认值 6</dd>
</dl>

<h3 id="返回值">返回值</h3>
Expand All @@ -33,7 +33,7 @@ <h3 id="返回值">返回值</h3>

<h2 id="(举个)栗(例)子">(举个)栗(例)子</h2>

<p>下面的例子展示了如何分离立体音轨(就是一段音乐),处理使左右声道不同。使用的时候,需要指定AudioNode.connect(AudioNode)方法的第二个和第三个参数,分别用来指定通道链接来源的索引和输出的索引。</p>
<p>下面的例子展示了如何分离立体音轨(就是一段音乐),处理使左右声道不同。使用的时候,需要指定 AudioNode.connect(AudioNode) 方法的第二个和第三个参数,分别用来指定通道链接来源的索引和输出的索引。</p>

<pre class="brush: js;highlight[7,16,17,24]">var ac = new AudioContext();
ac.decodeAudioData(someStereoBuffer, function(data) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ <h3 id="参数">参数</h3>

<dl>
<dt>numberOfOutputs</dt>
<dd>你期待将输入音频分割成的声道道数目; 当不传入参数时,默认为6</dd>
<dd>你期待将输入音频分割成的声道道数目; 当不传入参数时,默认为 6</dd>
</dl>

<h3 id="Returns">Returns</h3>
Expand All @@ -28,7 +28,7 @@ <h3 id="Returns">Returns</h3>

<h2 id="Example">Example</h2>

<p>下面这个简单的例子告诉你怎样分割一个双声道音轨 (或者说一段音乐), 以及对于左右声道不同的处理. 要使用它们, 你需要用到{{domxref("AudioNode.connect(AudioNode)") }}方法的第二个和第三个参数, 他们会指定链接声道源的序号和链接到的声道序号.</p>
<p>下面这个简单的例子告诉你怎样分割一个双声道音轨 (或者说一段音乐), 以及对于左右声道不同的处理要使用它们你需要用到{{domxref("AudioNode.connect(AudioNode)") }}方法的第二个和第三个参数他们会指定链接声道源的序号和链接到的声道序号</p>

<pre class="brush: js;highlight[5,12,17]">var ac = new AudioContext();
ac.decodeAudioData(someStereoBuffer, function(data) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
---
<p>{{APIRef("Web Audio API")}}</p>

<p> <strong><code>createConstantSource()</code></strong> 是 {{domxref("BaseAudioContext")}} 接口的一个方法, 用于生成一个 {{domxref("ConstantSourceNode")}} 对象, 该对象是一个输出单信道(one-channel)音频信号的音频源,这些音频信号都拥有一个恒定的样本值。</p>
<p> <strong><code>createConstantSource()</code></strong> 是 {{domxref("BaseAudioContext")}} 接口的一个方法,用于生成一个 {{domxref("ConstantSourceNode")}} 对象该对象是一个输出单信道(one-channel)音频信号的音频源,这些音频信号都拥有一个恒定的样本值。</p>

<h2 id="Syntax">Syntax</h2>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<p>{{ APIRef("Web Audio API") }}</p>

<div>
<p>{{ domxref("AudioContext") }}的方法<code>createConvolver()能创建一个</code>{{ domxref("ConvolverNode") }},通常用来对你的音频应用混响效果。在 <a href="http://webaudio.github.io/web-audio-api/#background-3">Convolution规范定义</a> 中查看更多信息。</p>
<p>{{ domxref("AudioContext") }}的方法<code>createConvolver()能创建一个</code>{{ domxref("ConvolverNode") }},通常用来对你的音频应用混响效果。在 <a href="http://webaudio.github.io/web-audio-api/#background-3">Convolution 规范定义</a> 中查看更多信息。</p>
</div>

<h2 id="语法">语法</h2>
Expand All @@ -21,9 +21,9 @@ <h3 id="Description" name="Description">返回值</h3>

<h2 id="Examples" name="Examples">例子</h2>

<p>下面的例子展示了一个 AudioContext 创建一个 混响器节点 的基本使用方法。基本前提是你创建一个包含声音样本的 AudioBuffer 用作混响环境 (称之为<em>脉冲响应</em>,) 和在混响器中应用。 下面的例子使用了一个简短的示例音乐厅人群效果,所以混响效果应用深度和回声。</p>
<p>下面的例子展示了一个 AudioContext 创建一个 混响器节点 的基本使用方法。基本前提是你创建一个包含声音样本的 AudioBuffer 用作混响环境 (称之为<em>脉冲响应</em>,) 和在混响器中应用。 下面的例子使用了一个简短的示例音乐厅人群效果所以混响效果应用深度和回声。</p>

<p>更多完整例子请查看<a href="http://mdn.github.io/voice-change-o-matic/">Voice-change-O-matic demo</a> (中<a href="https://github.com/mdn/voice-change-o-matic/blob/gh-pages/scripts/app.js">app.js的</a>代码)。</p>
<p>更多完整例子请查看<a href="http://mdn.github.io/voice-change-o-matic/">Voice-change-O-matic demo</a> (中<a href="https://github.com/mdn/voice-change-o-matic/blob/gh-pages/scripts/app.js">app.js 的</a>代码)。</p>

<pre class="brush: js">var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var convolver = audioCtx.createConvolver();
Expand Down
4 changes: 2 additions & 2 deletions files/zh-cn/web/api/baseaudiocontext/createdelay/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ <h3 id="返回">返回</h3>

<p>A {{domxref("DelayNode")}}. The default {{domxref("DelayNode.delayTime")}} if no parameter is passed to <code>createDelay()</code> is 0 seconds.</p>

<p>以上是原文,大意是返回延时时间,没有设置时默认是0</p>
<p>以上是原文,大意是返回延时时间,没有设置时默认是 0</p>

<p> </p>

<h2 id="示例">示例</h2>

<p>首先是中文版的简洁的示例,这个例子中 话筒里接收到的声音 会延迟3秒 从音响中播放</p>
<p>首先是中文版的简洁的示例,这个例子中 话筒里接收到的声音 会延迟 3 秒 从音响中播放</p>

<pre>window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
---
<p>{{APIRef("Web Audio API")}}</p>

<p>{{domxref("BaseAudioContext")}}接口的createOscillator()方法创建一个{{domxref("OscillatorNode")}},它是一个表示周期性波形的源。 它基本上产生一个不变的音调。</p>
<p>{{domxref("BaseAudioContext")}}接口的 createOscillator()方法创建一个{{domxref("OscillatorNode")}},它是一个表示周期性波形的源。它基本上产生一个不变的音调。</p>

<h2 id="Syntax">Syntax</h2>

Expand All @@ -17,7 +17,7 @@ <h3 id="Description" name="Description">Returns</h3>

<h2 id="Examples" name="Examples">Example</h2>

<p>以下示例显示了用于创建振荡器节点的AudioContext的基本用法。 有关应用示例/信息,请查看我们的<a href="http://mdn.github.io/violent-theremin/">Violent Theremin demo</a>(有关相关代码,请参阅<a href="https://github.com/mdn/violent-theremin/blob/gh-pages/scripts/app.js">see app.js</a>); 另请参阅我们的OscillatorNode页面以获取更多信息</p>
<p>以下示例显示了用于创建振荡器节点的 AudioContext 的基本用法。有关应用示例/信息,请查看我们的<a href="http://mdn.github.io/violent-theremin/">Violent Theremin demo</a>(有关相关代码,请参阅<a href="https://github.com/mdn/violent-theremin/blob/gh-pages/scripts/app.js">see app.js</a>); 另请参阅我们的 OscillatorNode 页面以获取更多信息</p>

<pre class="brush: js">// create web audio api context
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
Expand Down
Loading

0 comments on commit 1f236ab

Please sign in to comment.