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