HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0620
reo押しっぱで再生にするには?2解決


reo

リンク

2019/6/20(Thu) 21:31:37|NO.87675

screen 0,250,250

title "音楽"

mmload "A.mp3",0
button "再生",*A
stop
*A
mmplay 0

上のような簡単な音楽再生ソフトなんですが、押すと再生され、最後まで流れます。

これを、ボタンを押している間だけ再生し、離すと止まるようにしたいのですが
どうしたらよいでしょうか。

よろしくお願いします。



この記事に返信する


沢渡

リンク

2019/6/20(Thu) 23:26:57|NO.87678

ボタンは「押して離した」時にイベントが発生しますので、ボタンの代わりにボタン的な四角形を置き、
onclickでボタン押下を検出する様にしてみました。
さらにWM_LBUTTONUPのウィンドウメッセージでボタン押し上げを検出するようにしています。

#include "user32.as" screen 0,250,250 title "音楽" font msgothic,16 mmload "A.mp3",0 color 200,200,200 : boxf 0,0,79,31 color 0,0,0 : pos 24,8 : mes "再生" onclick gosub *A oncmd gosub *up,0x0202 //0x0202=WM_LBUTTONUP 左ボタンの押し上げメッセージ flag=0 //再生中フラグ stop *A if iparam : return //左クリック以外の場合は戻る mx=mousex : my=mousey if (mx>=0)&(mx<=79)&(my>=0)&(my<=31) { mmplay 0 SetCapture hwnd //マウスキャプチャ開始(マウスカーソルがどこにあってもイベントを受け取れるように) flag=1 } return *up if flag { mmstop ReleaseCapture //マウスキャプチャ終了 flag=0 } return



reo

リンク

2019/6/21(Fri) 13:47:28|NO.87680

ありがとうございます!
できました!



ONION software Copyright 1997-2023(c) All rights reserved.