2016-09-05 9 views
1

イントロ(I)、ループするパート(L)、エンディング(E)からなる曲があります。私はエンディングを演奏したくない、つまりオーディオファイルの曲= I + L + E、オーディオの再生= I + L + L + ...オーディオをデコードしてイントロを再生し、ループした部分

イントロと2つのファイルにループしますが、私はそれをクライアント側で「オンザフライ」したいと思います。

どうすればよいですか?

答えて

1

ウェブオーディオAPIは、正確にはAudioBufferSourceNode.loopStartAudioBufferSourceNode.loopEndsource)です。 AudioBufferSourceNode.loop = trueも覚えておく必要があります。

0

Web Audioを使用してファイルを再生する場合(decodeAudioData()を使用してAudioBufferにデコードしてからBufferSourceNodesで再生する場合)、異なるオフセットを持つバッファに2つのBufferSourceノードを指定すると、もう1つはループします。

ウェブオーディオダブルス(ない山車)を使用しています - ので、文は「これはフロート秒よりもはるかに正確である」(ダブルスは精度の約15小数点以下を持っている)は、一般的に真実ではありません。 (もちろん、絶対値にもよりますが)サンプル精度でプレイするには十分正確です(つまり、値間で不具合が生じないように)。あなたが心配しているのであれば、それらの間をクロスフェードするだけです。

実際には、その部分がループされたオーディオファイルを作成するだけであれば、それは少し異なります。再生したいように聞こえます。

関連する問題