[project-s] AudioRenderer.tsのリファクタリングとコメントの追加 #1571
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
内容
AudioRenderer.ts
のリファクタリングとコメントの追加を行います。用語の説明と補足
コンテキスト時刻
AudioContext
の場合は、AudioContext
を作成してからの経過時間になります。単位は秒です。現在のコンテキスト時刻は
currentTime
プロパティで取得できます。Web Audio APIでは音声処理はレンダリングスレッドで行われるため、再生・停止のタイミングをメインスレッドから正確にコントロールするには、コンテキスト時刻で再生時刻・停止時刻を指定(スケジュール)する必要があります。
オフラインレンダリング
OfflineAudioContext
を使用して行うレンダリングで、音声デバイスへの出力を行いません。トランスポート(
Transport
)DAWのトランスポートのイメージです。
イベントスケジューラーを使用して複数のシーケンスのスケジューリングを行います。
シーケンス(
Sequence
)DAWのトラック、リージョンのイメージです。
音源とイベントを持ちます。
スケジューリング
トランスポートとイベントスケジューラーのスケジューリング処理は、以下のページを参考に実装しています。
関連 Issue
ref #1041
その他