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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0504
yuyu音楽再生9未解決


yuyu

リンク

2008/5/4(Sun) 21:32:53|NO.15633

ゲーム等で、[参照]ボタンクリックして、自分で持ってる音楽を設定したらその音楽が流れるように
したいんだけど、どんなスクリプトになるんですか?



この記事に返信する


As

リンク

2008/5/4(Sun) 21:43:44|NO.15636

dialog命令ファイルを開くダイアログを表示させ、音楽のあるファイルを選択します。

選択に成功するとシステム変数refstrにファイルパスが入るため、そのファイルパスを
ファイルの種類によってmmload dmmload などの音楽再生用の命令を利用し読み込みます。

この他にwmvなど特殊なファイルの再生を必要とする場合は別途のプラグインを利用する他、
WindowsMediaPlayerのActiveXコントロールを利用する方法があります。

読み込みが終わったら、mmload命令を使って読み込んだのなら、mmplayで再生させます。
HSPではあらかじめ音声を再生、終了、などの機能が含まれています。

それをそのまま利用するだけです。



yuyu

リンク

2008/5/4(Sun) 21:59:37|NO.15637

すいません初心者のため、よく分かりませんTT


>>dialog命令ファイルを開くダイアログを表示させ、音楽のあるファイルを選択します。

dialog "mp3",16,"音楽
見たいな感じでいいんですか?

>>選択に成功するとシステム変数refstrにファイルパスが入るため、そのファイルパスを
>>ファイルの種類によってmmload dmmload などの音楽再生用の命令を利用し読み込みます。

ここが良く分かりませんTT

>>この他にwmvなど特殊なファイルの再生を必要とする場合は別途のプラグインを利用する他、
>>WindowsMediaPlayerのActiveXコントロールを利用する方法があります。

以下同文TT

>>読み込みが終わったら、mmload命令を使って読み込んだのなら、mmplayで再生させます。
>>HSPではあらかじめ音声を再生、終了、などの機能が含まれています。

微妙に分からない・・・






少しスクリプト見せてください・・・



Kpan

リンク

2008/5/4(Sun) 22:12:17|NO.15639

付属のサンプルはチェックしてますか?

sample\basic\avipaly.hsp



As

リンク

2008/5/4(Sun) 22:22:00|NO.15641

これがわからないとなると、音声ファイルを再生はできても他のところでもつまづいてしまう
かもしれないので、音楽再生のことについてはまず置いておいて、HSPフォルダにあるsampleフォルダ
の中のサンプルを改造したりして遊んでみることをお勧めします。

この値を変えるとここが変わるのか、というように理解の幅が広がり様々なことに応用が利くように
なると思います。

たとえば、タイマー機能をつけてその時間になったら音楽を再生しようなどと考えてみたり、再生をするときに
音をだんだん高くしようなど、いろいろと工夫ができるようになると思います。



yuyu

リンク

2008/5/4(Sun) 22:46:42|NO.15644

新たな質問です

mmplay で再生したあとmmstopで止めてから
mmplay で再生すると最初からになりますよね?

それを止めたところからにするにはどうすればよいのでしょうか?



As

リンク

2008/5/4(Sun) 23:16:29|NO.15648

mm関連の命令には”途中から再生する機能”が含まれないのでできません。

だから無理というわけではなく、この方法が無理なら別な方法を考えてみればいいわけです。
mm関連命令のほかにHSPではdmm関連の命令が用意されています。

これも同じように音声ファイルを再生する命令なのですが、mm関連命令と異なるのは付属の外部
プラグイン(hgimg3)を利用するということと、DirectXを利用するということです。DirectXというと
聞いたことがあると思いますが、これはhgimg3側から自働的に呼び出されるので特に気にすることは
ありません。



#include "hgimg3.as" dmmini dmmload dir_exe+"\\sample\\demo\\se_tyuiin.wav", 0, 0 repeat dmmplay 0, count*1000 //2番目のパラメータが、再生位置の指定です count+ wait 100 loop
dmm関連命令を利用すると、再生位置を指定することができます。ただ、再生を止めた位置を取得
することができないので、dmmplayを行ってからの経過時間を次回の再生時に再生位置として指定して
あげれば、一時停止からの復帰が実現できるとおもいます。

これでも不満であれば
このほかにも音声ファイルを再生させるためのプラグインはいろいろあるので探してみてください。



Kpan

リンク

2008/5/5(Mon) 09:09:11|NO.15655

あとはmci命令。
(「hsp mci」とかでググってください。Mr.Manriさんのページとか有名



yuyu

リンク

2008/5/5(Mon) 09:10:47|NO.15656

すいません、よくわかりませんTT
sampleファイル内のaviplayを途中再生できるのにした
スクリプトを見せてください・・・
本当にすいません。でも概要はわかりました。



あーくん

リンク

2008/5/6(Tue) 01:01:44|NO.15678

とりあえず音楽の再生がしたいみたいなので、
mci命令で再生するスクリプトどぞ

screen 0,640,60 onexit goto*owari dialog "mp3;*wav",16,"音声ファイルを選んでね〜":if stat=0:end fname=refstr mci "open \"" + fname + "\" alias music":if stat=-1:end mci "status music length":m_length=stat objsize 320,60 pos 0,0:button gosub "再生",*m_play pos 320,0:button gosub "一時停止",*m_stop repeat mci "status music position" title ""+getpath(fname,9)+"("+stat+"/"+m_length+")" wait 1 loop *owari mci "close all" end *m_stop mci "stop music" return *m_play mci "play music" return

自分、不器用なんでノークレームでお願いしますm(--)m



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