package { import flash.display.*; import flash.events.*; import org.si.sion.*; public class FlashTest extends Sprite { private var _driver:SiONDriver; private var _sinWave:SiONVoice; private var _mml:SiONData; private var _soundButton:Sprite; public function FlashTest() { init(); } private function init():void { //SiONDriverをスタンバイ _driver = new SiONDriver(); //音色定義(%5, @0 = sin波) _sinWave = new SiONVoice(5,3); _mml = _driver.compile("l16 o6 ffffre-rgrf2;l16 o6 c>bb-argrb-ra2;"); // _mml = _driver.compile("l16 o6 c>bb-argrb-ra2"); // _mml = _driver.compile("l16 o7cccc^8& o6g#^8&a#^8& o7c^16& o6a#& o7c^4"); // _mml = _driver.compile("l16 o7cccc6& o6g#6& a#6& o7c8 o6a#16 o7c"); _driver.play(); //UIを定義 _soundButton = new Sprite(); _soundButton.graphics.beginFill(0x0099cc); _soundButton.graphics.drawRoundRect(0, 0, 20, 20, 4, 4); _soundButton.graphics.endFill(); addChild(_soundButton); _soundButton.x = 20, _soundButton.y = 20; _soundButton.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler,false , 0 , true); _soundButton.buttonMode = true; } public function rollOverHandler(e:MouseEvent):void { _soundButton.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler,false , 0 , true); _soundButton.removeEventListener(MouseEvent.ROLL_OVER, rollOverHandler); _driver.sequenceOn(_mml, _sinWave, 0, 0, 1, 3); } public function rollOutHandler( e:MouseEvent ):void { _soundButton.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler); _soundButton.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler,false , 0 , true); } } } flash on 2009-12-16