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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0214
nekosa再生し終えたら次の曲へ9解決


nekosa

リンク

2010/2/14(Sun) 01:56:30|NO.30593

音楽を再生するのに
再生終了後に次のファイルを流すようにするため
mmloadのモード2したところ応答なしになってしまうのです
最低限再生中に応答なしにならずにウィンドウをドラッグできるようにしたいのですが
どうしたらいいでしょうか



この記事に返信する


ANTARES

リンク

2010/2/14(Sun) 04:06:45|NO.30594

1 スクリプトの書き方が悪い
直す
2 HSPの対応環境でない
HSPの対応環境を用意する
3 環境に依存するバグ
環境を報告する
4 nekosaさんの環境固有の問題
OSを再インストールするまたはハードウェアを修理する



ANTARES

リンク

2010/2/14(Sun) 04:24:56|NO.30596

 違うな。正解は「ここにスクリプトを貼る」です。
それによって、最も可能性の高い1か否かがはっきりします。



inovia

リンク

2010/2/14(Sun) 08:32:46|NO.30597

mmload をモード2で実行した場合、応答なしになりますね。
http://tkooler.moe.hm/hsp/img/mmload.png

mm系の命令だと再生時間も取得できないし、
メディアプレイヤーみたいのを作っているのならMCIを使うことをお勧めします。

MCIのコマンドはググるか、以下のサイトを参考にしてください。
http://lhsp.s206.xrea.com/command/mci.html

拙作のhspdsp.dllを使う手もありますが、難易度はMCIより高いです。
http://awplus.jp/soft/page1/yd/hspdsp.html



nekosa

リンク

2010/2/14(Sun) 12:30:18|NO.30598

スプリクトを貼った方がいいですよね申し訳ないです

list = "fire1.mp3\nfire2.mp3" k = 0 repeat notesel list noteget a,k mmload a,0,2 mmplay k + 1 loop
こんな感じです
現状は応答なしになるが音楽は再生されます

それからmciをちょっと調べてみたんですけど
再生時間を取得してその分だけウェイトすればできるんですかね?
と思ったんですが再生時間を取得する命令というのがよく分からないのですが
こちらもできればお願いします



inovia

リンク

2010/2/14(Sun) 13:41:44|NO.30600

MCIのnotifyフラグを使った場合はこんな感じになります。

#define MM_MCINOTIFY 0x03B9 #define MCI_NOTIFY_SUCCESSFUL 1 oncmd *OnMciNotify,MM_MCINOTIFY onexit *OnClose i=0; list = "fire1.mp3\nfire2.mp3" *play if i=2:goto *OnClose notesel list noteget fname,i mci "open \""+fname+"\" alias f" mci "play f from 0 notify" stop // このラベルは再生終了時に呼び出されます。 *OnMciNotify if wParam = MCI_NOTIFY_SUCCESSFUL{ ; 再生終了時にクローズ mci "close f" i++ goto *play } stop *OnClose // 終了時に開放 mci "close f" end



inovia

リンク

2010/2/14(Sun) 13:59:33|NO.30601

MCI系の質問はこの掲示板でも頻繁(?)に出るので過去ログを見ておくとよいかも。
・・・と思ったけど、「ヒット件数が多すぎる為、表示できません。」
と表示が出てしまいますね。


こちらでも同じ内容が見れます。
http://tkooler.moe.hm/hsp/bbslog/msearch.cgi?index=default&query=mci&num=10&set=1



nekosa

リンク

2010/2/14(Sun) 22:52:02|NO.30617

ありがとうございます!!!
う〜ん何か難しいそうですね
分かりましたmciというのを
学んでみようと思います
回答してくださったみなさんホントにありがとうございました



ANTARES

リンク

2010/2/15(Mon) 00:14:28|NO.30620

 ちょっと勘違いしてました(^_^;;

#if 0 mmload a,0,2 mmplay #else mci "open \""+a+"\" alias f" mci "play f" repeat mci "status f mode": if refstr!="playing": break wait 1 loop #endif



nekosa

リンク

2010/2/15(Mon) 00:45:31|NO.30621

ありがとうございます!!
やっぱりスプリクトがないとわかりにくいですね
申し訳ないです><



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