Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

convert to markdown and sync with english version for AudioBufferSourceNode.buffer #6623

Merged
merged 2 commits into from
Jul 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 0 additions & 66 deletions files/zh-cn/web/api/audiobuffersourcenode/buffer/index.html

This file was deleted.

58 changes: 58 additions & 0 deletions files/zh-cn/web/api/audiobuffersourcenode/buffer/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: AudioBufferSourceNode.buffer
slug: Web/API/AudioBufferSourceNode/buffer
tags:
- API
- AudioBufferSourceNode
- Web Audio API
translation_of: Web/API/AudioBufferSourceNode/buffer
---
{{ APIRef("Web Audio API") }}

{{ domxref("AudioBufferSourceNode") }} 接口的 **`buffer`** 属性提供了重复播放音频的能力,该音频使用 {{domxref("AudioBuffer")}} 作为声音文件的来源。

如果 `buffer` 属性的值为 `null`,节点会自动生成一个单声道的无声文件(所有采样均为 0)。

## 值

一个 {{domxref("AudioBuffer")}},包含了节点将要播放的声音数据。

## 示例

> **备注:** 完整的示例请查看[演示示例](https://mdn.github.io/webaudio-examples/audio-buffer/),或[查看源代码](https://github.com/mdn/webaudio-examples/blob/master/audio-buffer/index.html)。

```js
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);

button.onclick = function() {
// Fill the buffer with white noise;
//just random values between -1.0 and 1.0
for (let channel = 0; channel < channels; channel++) {
// This gives us the actual ArrayBuffer that contains the data
const nowBuffering = myArrayBuffer.getChannelData(channel);
for (let i = 0; i < frameCount; i++) {
// Math.random() is in [0; 1.0]
// audio needs to be in [-1.0; 1.0]
nowBuffering[i] = Math.random() * 2 - 1;
}
}

// Get an AudioBufferSourceNode.
// This is the AudioNode to use when we want to play an AudioBuffer
const source = audioCtx.createBufferSource();
// set the buffer in the AudioBufferSourceNode
source.buffer = myArrayBuffer;
```

## 规范

{{Specifications}}

## 浏览器兼容性

{{Compat}}

## 参见

- [使用 Web Audio API](/zh-CN/docs/Web/API/Web_Audio_API/Using_Web_Audio_API)
- [Web Audio API](/zh-CN/docs/Web/API/Web_Audio_API)