0

intro.AIF ファイルと loop.aif ファイルが Flash に埋め込まれています。イントロを再生してからループを再生する必要があります。だからこれが私がしたことです

var intro:introSound = new introSound();
var introChannel:SoundChannel = intro.play();
introChannel.addEventListener(Event.SOUND_COMPLETE, handleAudioLoop);

private function handleAudioLoop($event:Event):void {
var loop:loopSound = new loopSound();
var loopChannel:SoundChannel = loop.play(1, int.MAX_VALUE);
}

何が起こったのかというと、シームレスではなく、ループが始まる前に何らかのグリッチやポップが発生したようです。問題は eventListener だと思ったので、settimeout を使用しようとしましたが、それでも完璧にはなりません。ポップ サウンドであるか、少し前にループを再生する必要があります。

誰もこの問題を抱えていて、それを解決する方法を知っていますか? ありがとう。

ps。両方のサウンド ファイルを iTune で続けて再生するのはシームレスですが、Flash ではできません。

4

2 に答える 2

0

残念ながら、Event.SOUND_COMPLETE は、さまざまなサウンドをシームレスに再生できるほど正確ではありません。ループ サウンド フラッシュ as3 の推奨される方法をご覧ください。

于 2012-10-17T19:06:40.477 に答える
0

サウンドが mp3 形式の場合、すべてのトラックの前後に常に空白があります。FLA にサウンド ファイルがある場合は、mp3 ファイルを wav ファイルに置き換えると、Flash によって自動的に空白のない mp3 形式に変換されます。

于 2012-10-17T06:21:38.903 に答える