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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0601
ダイアログで曲を選んでmci命令で再生9解決


リンク

2013/6/1(Sat) 17:32:14|NO.54471

つい最近教えてもらって始めたばかりの超初心者です。

前自分で音楽プレイヤーが作れたらなと思いまして頑張って作ったのですが

mci命令の使い方がどうもよくわからなかったので

普通?にmmloadなどを使って作っていていろいろ使いやすくしたのですが

やはり一時停止や音量・スキップなどをやろうとするとどうもmciを使わなければ

いけないみたいなので質問させていただます。 長文すいません。


希望
・ダイヤログで曲を選んで再生(それだけならmmloadでも出来るけど今後のことを考えて
mciで
・mciについて

一応どのようなのを作りたいかわからないかもしれないのでソース這っときます。

ソース


/*_______________________オリジナル音楽プレイヤー 音楽一時停止ができん_________________________________________________*/

ループ切り替え表示=0
/*______________________________________________________________________________________________________________________*/
*stert
screen 0,500,500,,,, ; 500*500のスクリーン
title "自作低性能ミュージックプレイヤー" ; タイトル表示
color ,,,:boxf ; 黒で塗りつぶす
pos 170,250
button "終了" , *owari ; 指定場所にボタン表示
pos 250,250
button "曲を選ぶ" , *play ; 指定場所にボタン表示
stop


*play
cls ; 画面クリア
dialog "wav;*.avi;*.mid;*.mp3;*asf;*wmv;*wma;*mpg" ,16, "音楽ファイル" ; 音楽ファイルを開く
mmstop ; 曲変更時のBGM
if (stat=0){goto *restart} ; 選ばないorエラーでジャンプ

*play1
cls
pos 60,200
if ループ切り替え表示=1:mes "ループONです。"
if ループ切り替え表示=0:mes "ループOFFです。"
pos 0,0
mes "再生中の曲 と言うよりファイルの場所\n: "+refstr ; 選んだ曲名を表示
font "font_normal",30:color 255,,,: mes "※音量注意 初めは音量最少厳守":color ,,,:font "font_normal",0
mes "拡張子は対応していても再生できない曲があります。\n一時停止ができません。\nループ切り替えるだけで曲が初めからになります。\n曲名が分かりずらいです が全ては仕様です(笑)。" ; メッセージ
if matu=0:wait 500:matu=1 ; 音量のため5秒停止


if (ループ=0){mmload refstr,0,:mmplay 0:a=0
}else:if(ループ=1){mmload refstr,0,1:mmplay:a=1}

初めから=0
pos 300,170
button "初めから" , *hajime
pos 240,170
button "停止" , *teisi ; ボタン表示
pos 180,170
button "終了" , *owari
pos 120,170
button "曲変更" , *hennkou
pos 60,170
button "ループ" , *endres

stop
//_____________________________曲情報所得失敗時______________________________________________________________________________________________________
*restart
cls : mes "曲の取得に失敗しました。 再起動してください" ; 画面クリア後メッセージ
pos 170,20:button "再起動" , *stert:pos 250,20
button "終了" , *owari ; ボタンを表示
stop
//_________________________________停止時____________________________________________________________________________________________________________
*hajime
初めから=1
goto *play1


*teisi
mmstop ; 音楽停止
repeat
await 1
if 初めから=1:goto*play1
loop

stop
//_________________________________曲変更時__________________________________________________________________________________________________________
*hennkou
ループ=0
ループ切り替え表示=0
goto, *play ; ジャンプ
stop
//_________________________________ループボタン______________________________________________________________________________________________________
*endres
if (a=0){ループ=1:ループ切り替え表示=1
}else:if(a=1){ループ=0:ループ切り替え表示=0}
mmstop
goto *play1
//__________________________________終わり__________________________________________________________________________________________________________
*owari
end ; 終了

どのようなお方でもよろしいので回答お待ちしております。
お願いいたします(;´・ω・)



この記事に返信する


流星群

リンク

2013/6/1(Sat) 18:21:11|NO.54472

えーと、、、
取り敢えずレスが付いてない連続投稿の
スレッド消そう。な?



ht.

リンク

2013/6/1(Sat) 18:36:59|NO.54473

触りだけ使い方のサンプルを書いておいたので、他の機能についてはmciコマンドで調べてください。

dialog "wav;*.avi;*.mid;*.mp3;*asf;*wmv;*wma;*mpg" ,16, "音楽ファイル" ;open "ファイルパス" alias エイリアス名 でファイルの読み込み(エイリアスはmciの操作に使用する名前) mci "open \"" + refstr + "\" alias current_music" ;status エイリアス 引数 で引数の情報を取得 mci "status current_music length" mes "曲の長さ:" + stat / 1000 + "秒" button gosub "再生", *play button gosub "一時停止", *pause button gosub "速度変更", *speed button gosub "閉じる", *close stop *play ;play エイリアス で再生 mci "play current_music" return *pause ;pause エイリアス で一時停止 mci "pause current_music" return *speed ;set エイリアス 引数 で引数の情報を変更 mci "set current_music speed 1500" ;speed 数値 で速度の変更(1.5倍) return *close ;close エイリアス で対象を破棄 mci "clo



リンク

2013/6/1(Sat) 18:52:06|NO.54474

dsoundex.dllとか結構簡単に
多重再生、ループ再生、速度調整、音量、パン調整などもできるので
僕は結構使ってます。一度ご覧になってみては。



リンク

2013/6/1(Sat) 20:32:51|NO.54475

流星群さん
すいません。二日前にここを知ったもので勝手がわからなくて・・



リンク

2013/6/1(Sat) 20:41:38|NO.54476

htさん
ソースまで貼って+詳しい説明ありがとうございます。

撃さん
調べてみます。ありがとうございます。

また質問あるかもしれないのでその時はヨケレバよろしくお願いいたします。

続レス歓迎



菊岡万次郎

リンク

2013/6/1(Sat) 21:48:22|NO.54477

ovplayオヌヌメ



流星群

リンク

2013/6/1(Sat) 22:12:20|NO.54478

>>狐さん
そうだったのですかー。


ちゃんと重複投稿も消えてるし、問題ない…かな?



リンク

2013/6/2(Sun) 08:12:13|NO.54486

菊岡万次郎さん
ありがとうございます。DLしてみます。

流星群さん
はい 消してみました。 ご指導ありがt(ry

拡張プラグイン?なんて知らなかったのでいろいろ使えそうなのをDLしてみます。
また質問するかもれn(ry
ありがとうございます。(/・ω・)/ノシ



リンク

2013/6/2(Sun) 11:38:42|NO.54492

終わりってこれででいいのかな?



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