OK,因为我在网上的时间,试图根据循环的文档和帮助薄量上的音频源的地狱,我决定创建自己的驻波3个插件库。这不是完美的,但是它完成了工作,并且在字节级上完成了这个任务;没有循环定时器或任何东西。它的工作原理是在开始和结束循环点中输入声音。然后根据提供的时间以几秒钟的时间克隆循环样本。它应该是直接使用。这是在“实例”文件夹中 “循环”文件中的Main.as类的代码:
package
{
// Imports.
import com.greensock.events.LoaderEvent;
import com.greensock.loading.LoaderMax;
import com.greensock.loading.MP3Loader;
import flash.display.Sprite;
import flash.events.Event;
import com.greensock.TweenMax;
import com.SW3.gadget.LoopGadget;
import flash.media.Sound;
// Class.
public class Main extends Sprite
{
// Vars.
private var loader:LoaderMax;// Using LoaderMax for ease of use.
// Constructor.
public function Main()
{
trace("Main");
loader = new LoaderMax({ name:"audio", onComplete:onSoundsLoaded });
loader.append(new MP3Loader("assets/Beat.mp3", { autoPlay:false }));
loader.append(new MP3Loader("assets/Clap.mp3", { autoPlay:false }));
loader.append(new MP3Loader("assets/Boom.mp3", { autoPlay:false }));
loader.load();
}
private function onSoundsLoaded(e:LoaderEvent):void
{
trace("onSoundsLoaded");
var looping:LoopGadget = new LoopGadget;
looping.addLoopSound("Beat", e.currentTarget.content[ 0 ] as Sound, 0, 10);
looping.addLoopSound("Clap", e.currentTarget.content[ 1 ] as Sound, 0, 10);
//looping.addLoopSound("Boom", e.currentTarget.content[ 2 ] as Sound, 0, 10); // Commented out to test possible error.
looping.playLoop("Beat");// Play the "Beat" loop.
looping.playLoop("Clap");// Play the "Clap" loop.
looping.stopLoop("Beat");// Stop the "Beat" loop.
looping.playLoop("Beat");// Play the "Beat" loop.
looping.playLoop("Beat");// Play the "Beat" loop again to test if it would error out..
looping.stopAllLoops();// Stop all the loops.
looping.playLoops([ "Beat", "Clap", "Boom" ]);// Play all the loops. Test to see if "Boom" will error out.
}
}
}
退房在这里的源文件: https://github.com/charlesclements/standingwave3-addons
嘿@ TheDarkIn1978,谢谢努力,但没有运气,我仍然只从这个代码获得一个循环。 –
尝试联系开发人员,也许直接给他这个问题,因为他已经是一个很好的变化,他已经是SO上的成员:https://github.com/maxl0rd – TheDarkIn1978