/
index.md
72 lines (52 loc) · 2.57 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
title: "AudioWorkletGlobalScope: currentTime プロパティ"
slug: Web/API/AudioWorkletGlobalScope/currentTime
l10n:
sourceCommit: 135b8311a5e3d12789e8421845be3ce026ef72b8
---
{{APIRef("Web Audio API")}}
{{domxref("AudioWorkletGlobalScope")}} インターフェイスの読み取り専用プロパティ **`currentTime`** は、処理中の音声ブロックのコンテキスト時刻を表す単調増加の `double` 値を返します。これはワークレットが属している {{domxref("BaseAudioContext")}} の {{domxref("BaseAudioContext.currentTime", "currentTime")}} プロパティと同じ値です。
## 値
時刻を表す浮動小数点数です。
## 例
この {{domxref("AudioWorkletProcessor")}} は {{domxref("AudioWorkletGlobalScope")}} の特定のプロパティにアクセスできます。
```js
// test-processor.js で定義された AudioWorkletProcessor
class TestProcessor extends AudioWorkletProcessor {
constructor() {
super();
// 生成時のサンプルフレームと時刻を記録する。
// これらの値には AudioWorkletGlobalScope からアクセスできる。
console.log(currentFrame);
console.log(currentTime);
}
// process メソッドは必須である。
// (最初から入っている) 無音を出力する。
process(inputs, outputs, parameters) {
return true;
}
}
// サンプルレートを記録する。
// これは BaseAudioContext の読み取り専用プロパティであり、
// 生成時にのみ設定されるので、変化しない。
console.log(sampleRate);
// 任意の変数を宣言し、処理器で利用できる。
// たとえば、波形テーブルが入った ArrayBuffer を宣言できる。
const usefulVariable = 42;
console.log(usefulVariable);
registerProcessor("test-processor", TestProcessor);
```
メインスクリプトでは処理器をロードし、処理器の名前を渡して {{domxref("AudioWorkletNode")}} のインスタンスを生成し、そのノードを音声グラフに接続します。{{domxref("console.log()")}} の呼び出しによる出力がコンソールに出るはずです。
```js
const audioContext = new AudioContext();
await audioContext.audioWorklet.addModule("test-processor.js");
const testNode = new AudioWorkletNode(audioContext, "test-processor");
testNode.connect(audioContext.destination);
```
## 仕様書
{{Specifications}}
## ブラウザーの互換性
{{Compat}}
## 関連情報
- [ウェブオーディオ API](/ja/docs/Web/API/Web_Audio_API)
- [Web Audio API の使用](/ja/docs/Web/API/Web_Audio_API/Using_Web_Audio_API)