ちょっとした事から、簡易mp3プレーヤーをflashで作る事になり。。。
仕様的には2つの聴き比べように2つのプレイボタンとストップボタンとシークバー。
なんて事はないよく見るプレーヤーですが。。。
シークバー作るのって意外とめんどくさい。。。
再生位置の表示に欠かせない公式的なものが
handle_mc.x = SoundChannel.position / Sound.length * bar_mc.width;
クセ者は.length
ライブラリーに読み込んで、リンゲージの設定をした音源なら問題ないが、外部からの読み込み音源だと.loadで読み込んで、
var sd:Sound;
var sc:SoundChannel
var size:int
var range:int = bar_mc.width;
addEventLestener(Event.COMPLETE,load_comp);
function load_comp(Event):void{
size.length;
}
等してlength値を取得する必要があるみたい。。。
ちなみにfunctionで取得しないと値は0なので、シークバーのhandle_mcは動かない。
なので公式にあてはめると
handle_mc.x = sc.position / size * range;
って感じ。。。
気付けば当たり前の事だけど、早く言ってよ。。。
2011年1月16日日曜日
2011年1月12日水曜日
内税(消費税)の計算方法
なんでいきなり内税の話・・・。
いやいや結構重要ですよ。
折角覚えたからメモ。
公式
税込み価格 × (5/105) = 内税額
だそうです。
なぜ105とか出て来るの??
みたいな話ですよねぇ。
なんでも5/105はわかりやすく言うと、105個分の5個という事なので、
税込み価格を105個に割ったものを×5すればでるそうで。。。
ってことは
1050(税込み価格) ÷ 105 = 10
10 × 5 = 50(内税)
1050 - 50 = 1000(税抜価格)
なるほど。
わかってみればなんて事はないですな。
ちなみに
10000 ÷ 105 × 5 = 476.190476......
10000 - 476.190476...... = 9523.80952.....
なるほど。
できることなら避けて通りたいですな。
いやいや結構重要ですよ。
折角覚えたからメモ。
公式
税込み価格 × (5/105) = 内税額
だそうです。
なぜ105とか出て来るの??
みたいな話ですよねぇ。
なんでも5/105はわかりやすく言うと、105個分の5個という事なので、
税込み価格を105個に割ったものを×5すればでるそうで。。。
ってことは
1050(税込み価格) ÷ 105 = 10
10 × 5 = 50(内税)
1050 - 50 = 1000(税抜価格)
なるほど。
わかってみればなんて事はないですな。
ちなみに
10000 ÷ 105 × 5 = 476.190476......
10000 - 476.190476...... = 9523.80952.....
なるほど。
できることなら避けて通りたいですな。
2011年1月6日木曜日
動画変換、音声抽出のメモ
個人的に色々な音声サンプルで実験等を行いたい時に、必ず衝突するのがDVDからのリッピング問題とリッピングデータからの音声抽出作業。
ホント映像関係は苦労するなぁ。。。
通常簡単にできたらダメなものだもんね。
って言うかできたらダメなものだもんね。
簡単に流れをメモ。
いっつもどうやったか忘れてしまうので。。。
ちなみに環境はmac OSX10.5 です。
1:まずは自分のライブ映像等をDVDデッキで見れるように作ったDVDを用意。
2:mactheripper等でvideo_tsフォルダを抽出。
3:AnyVideoConverterってやつにvideo_tsフォルダ内のvobファイルをドラック&ドロップしてaviファイルに変換。
4:logicにaviを取り込み、音声抽出。
ざっとこんな流れ。
logicがmovとaviしかサポートしないので、こんな面倒な流れに。。。
ちょっと前まで活躍していた、handbrakeはどうやらaviのサポートを廃止したみたい。
ホント映像関係は苦労するなぁ。。。
通常簡単にできたらダメなものだもんね。
って言うかできたらダメなものだもんね。
簡単に流れをメモ。
いっつもどうやったか忘れてしまうので。。。
ちなみに環境はmac OSX10.5 です。
1:まずは自分のライブ映像等をDVDデッキで見れるように作ったDVDを用意。
2:mactheripper等でvideo_tsフォルダを抽出。
3:AnyVideoConverterってやつにvideo_tsフォルダ内のvobファイルをドラック&ドロップしてaviファイルに変換。
4:logicにaviを取り込み、音声抽出。
ざっとこんな流れ。
logicがmovとaviしかサポートしないので、こんな面倒な流れに。。。
ちょっと前まで活躍していた、handbrakeはどうやらaviのサポートを廃止したみたい。
2011年1月4日火曜日
Flashのリンク設定
いっっっつも忘れてしまうので、いい加減メモ。
-----------------------------------
btn_link.buttonMode = true; //いつもボタンをmcで作るのでボタンモード設定
btn_link.addEventListener(MouseEvent.CLICK, click_btn_link);
function click_btn_link(evt:MouseEvent):void {
navigateToURL(new URLRequest("URL名"));
}
-----------------------------------
これでバッチリ。
-----------------------------------
btn_link.buttonMode = true; //いつもボタンをmcで作るのでボタンモード設定
btn_link.addEventListener(MouseEvent.CLICK, click_btn_link);
function click_btn_link(evt:MouseEvent):void {
navigateToURL(new URLRequest("URL名"));
}
-----------------------------------
これでバッチリ。
htmlで数秒後に他のURLにジャンプさせる方法
どうやら2つやり方があるらしい。
1.htmlの<meta>タグによるやり方
<html>
<head>
<meta http-equiv="refresh" content="秒数; ジャンプさせるURL">
<title></title>
</head>
<body>
</body>
</html>
といたってシンプル。
2.javascriptによるやり方
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
mnt = 秒数;
url = "ジャンプさせるURL";
function jumpPage() {
location.href = url;
}
setTimeout("jumpPage()",mnt*1000)
-->
</script>
</head>
<body>
</body>
</html>
とちょっと複雑。
って事を踏まえて<meta>タグの方でやってみたら、macのsafariでは問題なくできるのにwindowsのIEではxpでも7でもダメ。。。
javascriptの方は両ブラウザとも問題なくジャンプできました。
なるほど。
1.htmlの<meta>タグによるやり方
<html>
<head>
<meta http-equiv="refresh" content="秒数; ジャンプさせるURL">
<title></title>
</head>
<body>
</body>
</html>
といたってシンプル。
2.javascriptによるやり方
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
mnt = 秒数;
url = "ジャンプさせるURL";
function jumpPage() {
location.href = url;
}
setTimeout("jumpPage()",mnt*1000)
-->
</script>
</head>
<body>
</body>
</html>
とちょっと複雑。
って事を踏まえて<meta>タグの方でやってみたら、macのsafariでは問題なくできるのにwindowsのIEではxpでも7でもダメ。。。
javascriptの方は両ブラウザとも問題なくジャンプできました。
なるほど。
簡単なのにはそれなりにワケがあるのね。
FlashにおけるMouse命令のメモ
新年早々のブログが何とも地味。。。
まぁ技術者なんてこんなもんですよ。
って事でいつも忘れてしまうMouse命令のメモ。
メモってもいっつもどっかに行っちゃうのでここなら安全でしょ。
---------------------------------------
click
CLICK : String = "click"
ユーザーがポインティングデバイスの主ボタンを、同じInteractiveObjectの上で押して放したときに配信されます。
doubleClick
DOUBLE_CLICK : String = "doubleClick"
ユーザーがポインティングデバイスの主ボタンを、同じInteractiveObjectの上で素早く続けて2回押して放したときに配信されます。そのオブジェクトのdoubleClickEnabledプロパティは、trueに設定されている必要があります。
mouseDown
MOUSE_DOWN : String = "mouseDown"
ユーザーがポインティングデバイスの主ボタンを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上で押したときに配信されます。
mouseMove
MOUSE_MOVE : String = "mouseMove"
ユーザーがポインティングデバイスを、InteractiveObjectの上で動かしているときに配信されます。
mouseOut
MOUSE_OUT : String = "mouseOut"
ユーザーがポインティングデバイスを、InteractiveObjectインスタンスの上から外に動かしたときに配信されます。
mouseOver
MOUSE_OVER : String = "mouseOver"
ユーザーがポインティングデバイスを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上に動かしたときに配信されます。
mouseUp
MOUSE_UP : String = "mouseUp"
ユーザーがポインティングデバイスの主ボタンを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上で放したときに配信されます。
mouseWheel
MOUSE_WHEEL : String = "mouseWheel"
ユーザーがポインティングデバイスのマウスホイールを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上で回したときに配信されます。
rollOut
ROLL_OUT : String = "rollOut"
ユーザーがポインティングデバイスを、InteractiveObjectインスタンスの上から外に動かしたときに配信されます。
rollOver
ROLL_OVER : String = "rollOver"
ユーザーがポインティングデバイスを、InteractiveObjectインスタンスの上に動かしたときに配信されます。
まぁ技術者なんてこんなもんですよ。
って事でいつも忘れてしまうMouse命令のメモ。
メモってもいっつもどっかに行っちゃうのでここなら安全でしょ。
---------------------------------------
click
CLICK : String = "click"
ユーザーがポインティングデバイスの主ボタンを、同じInteractiveObjectの上で押して放したときに配信されます。
doubleClick
DOUBLE_CLICK : String = "doubleClick"
ユーザーがポインティングデバイスの主ボタンを、同じInteractiveObjectの上で素早く続けて2回押して放したときに配信されます。そのオブジェクトのdoubleClickEnabledプロパティは、trueに設定されている必要があります。
mouseDown
MOUSE_DOWN : String = "mouseDown"
ユーザーがポインティングデバイスの主ボタンを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上で押したときに配信されます。
mouseMove
MOUSE_MOVE : String = "mouseMove"
ユーザーがポインティングデバイスを、InteractiveObjectの上で動かしているときに配信されます。
mouseOut
MOUSE_OUT : String = "mouseOut"
ユーザーがポインティングデバイスを、InteractiveObjectインスタンスの上から外に動かしたときに配信されます。
mouseOver
MOUSE_OVER : String = "mouseOver"
ユーザーがポインティングデバイスを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上に動かしたときに配信されます。
mouseUp
MOUSE_UP : String = "mouseUp"
ユーザーがポインティングデバイスの主ボタンを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上で放したときに配信されます。
mouseWheel
MOUSE_WHEEL : String = "mouseWheel"
ユーザーがポインティングデバイスのマウスホイールを、Flash Playerウィンドウ内のInteractiveObjectインスタンスの上で回したときに配信されます。
rollOut
ROLL_OUT : String = "rollOut"
ユーザーがポインティングデバイスを、InteractiveObjectインスタンスの上から外に動かしたときに配信されます。
rollOver
ROLL_OVER : String = "rollOver"
ユーザーがポインティングデバイスを、InteractiveObjectインスタンスの上に動かしたときに配信されます。
---------------------------------------
どこに掲載されていたのかすら忘れちゃったけど。。。
たぶんadobeのリファレンスかな??
後は
ボタン名.addEventListener(MouseEvent.やりたいMouse命令, Function名);
function Function名(evt:MouseEvent):void { やりたい処理 }
で動くようになるはず。
HTML5.0の出現によって今後のFlashの居場所がなかなか不透明になって来ましたが、プログラム言語を1つ覚えたと思えば、なんだかのめり込んで良かった気がします。
登録:
投稿 (Atom)