2016-09-15 21 views
0

私はjavascriptでWeb Audio APIを使っています。 私の現在のプロジェクトの一部にはルーパが含まれています。ルーパの開始点と終了点を動的に変更する必要があります。どちらが機能しているか。JS/Web Audio:再生中にすぐにloopStartにジャンプするにはどうすればよいですか?

しかし、私はそれを設定すると、開始点に移動するオーディオファイルの再生位置が必要です。私はグーグルで何日もスペックを読んでいるが、答えが見つからないようだ。

私はあなたがstart()関数で設定できることは知っていますが、すでに再生している間に変更する必要があります。 ありがとう!

+0

ループポイントが変更されたときすぐにstart()を起動するイベントを開始する方法を尋ねていますか? – William

+0

ええ、新しいAudioBufferSourceを作成せずに新しいポイントにジャンプする方法があることを期待していましたが、そうでないようです。現在の再生位置を変更するだけでは、(コード行ではなく、何が起こっているのかという理論で)非常に多くの作業のようです。 –

答えて

1

あなたがしようとしていることを理解していれば、同じバッファを使用して新しいAudioBufferSourceを作成することが唯一の方法だと思います。この新しいAudioBufferSourceを元のループポイントと同じように調整し、start()に正しい開始時刻とオフセットを付けて呼び出します。

+0

あなたは正しいです。他のすべてのオーディオプログラミングでは、現在の再生スポットを動的に変更する方法がありました。 Web Audio APIでは、そうではないようです。新しいAudioBufferSourceを再起動し、新しい場所で起動する必要があります。おそらく私は他の言語/図書館から全体像を得ていないかもしれませんが、かなり非効率的です。 –

+1

AudioBufferSourceの作成(および破棄)は非常に軽量であると考えられています。 AudioBufferSourceノード間で基礎となるAudioBufferを共有できます。 –

関連する問題