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


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0719
めいぷる音を流し、ボタンが押されたら止めたい2解決


めいぷる

リンク

2022/7/19(Tue) 14:16:08|NO.96823

mp3の音源を出して、ボタンが押されたら音を止め、止めた3秒後にまた別の音源を流してボタンが押されたら音を止める、というループのスクリプトを作りたいのですが、mmplayとmmstopの制御が上手くできません。
以下のようなスクリプトで試みていますがうまくいきません。どうすればよいか知恵をお貸しください。

(”1.mp3”のように名付けられた音源を48番目まで順番に流したいという設定です。)

repeat 48,0
mmload str(cnt)+".mp3",cnt,2
mmplay cnt
loop
にすると音が順番に流れ、

repeat 48,0
mmload str(cnt)+".mp3",cnt,2
mmplay cnt
v=o,keycheck=0
while keycheck=0
getkey v,86
if v=1:keycheck=1
await 1
wend
mmstop
loop
にすると、ボタンを押すと音が流れます。mmstopは効きません。



この記事に返信する


沢渡

リンク

2022/7/19(Tue) 15:03:27|NO.96824

このような形ではどうでしょうか。

repeat 48,0 mmload str(cnt)+".mp3",0 //一度鳴らした音はもう鳴らさないので0番バッファを使い回す。 getkey v0,86 //曲が鳴る前からVキーを押しっぱなしにしていたのなら、一旦離すまでは入力を受け付けないようにする。 mmplay 0 v=0 repeat if v0 { getkey v0,86 } else { getkey v,86 if v : break } await 33 //awaitの待ち時間が1ミリ秒では短すぎて、処理が重くなるのに繋がってしまう。 //とりあえず仮にここでは30FPSと想定し、1000/30で33ミリ秒とする。 loop mmstop await 3000 //3秒待つ。 loop



めいぷる

リンク

2022/7/21(Thu) 15:21:15|NO.96836

解決いたしました、大変助かりましたありがとうございます!!



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