緊急地震速報のアラーム
これ気持ち悪いなー、とずっと気になってたので、なんとなくコードだけ耳コピ。
Cdim7 → C#dim7の繰り返しでした。
音色は適当にやったんで、あまり似てないのは勘弁。
というか、MMLはなんかよくわからなくて弄るのが・・・。
音量を大きくして鳴らすと、周りの人が誤解するので、音量を絞って聞いてください。
package
{
import com.bit101.components.PushButton;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import org.si.sion.SiONData;
import org.si.sion.SiONDriver;
/**
* 緊急地震速報のアラーム
*
* @author Hiiragi
*
* これ気持ち悪いなー、とずっと気になってたので、なんとなくコードだけ耳コピ。
* Cdim7 → C#dim7の繰り返しでした。
*
* 音色は適当にやったんで、あまり似てないのは勘弁。
* というか、MMLはなんかよくわからなくて弄るのが・・・。
*
* 音量を大きくして鳴らすと、周りの人が誤解するので、音量を絞って聞いてください。
*/
[SWF(width = "465", height = "465", frameRate = "30", backgroundColor = "0xFFFFFF")]
public class EarthquakeAlerm extends Sprite
{
private var _sionDriver:SiONDriver;
private var _sionData:SiONData;
private var _btn:PushButton;
public function EarthquakeAlerm()
{
//SiON
_sionDriver = new SiONDriver();
_sionData = _sionDriver.compile("#MA@10{5 0 01 05 05 02 20 00 32 1 2 02 0 0 00 15 04 03 20 00 01 1 1 01 3 0 01 10 05 02 20 00 28 1 0 09 0 0 00 15 02 01 20 00 06 1 0 01 7 0};t160;l4;#A=o6cc+r2;#B=o6e-er2;#C=o6g-gr2;#D=o6aa+r2;#E=o7cc+r2;#F=o7e-er2;%t0 %6@10 [A]2;%t1 %6@10 r64[B]2;%t2 %6@10 r32[C]2;%t3 %6@10 r32r64[D]2;%t4 %6@10 r16[E]2;%t5 %6@10 r16r64[F]2;");
//Button
_btn = new PushButton(this, 0, 0, "Alerm", clickHandler);
_btn.move(this.stage.stageWidth / 2 - _btn.width / 2, this.stage.stageHeight / 2 + 50);
//TextField
var tf:TextField = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.text = "緊急地震速報です。"
tf.setTextFormat(new TextFormat(null, 40));
tf.x = this.stage.stageWidth / 2 - tf.width / 2;
tf.y = this.stage.stageHeight / 2 - tf.height / 2;
this.addChild(tf);
}
private function clickHandler(e:MouseEvent):void
{
_sionDriver.play(_sionData);
}
}
}