ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE 11行BGM再生 /doraza (02/02/15(Fri) 23:36) [470]
......MESSAGE Re[1]: 11行BGM再生 /moka (02/02/16(Sat) 02:17) [471]
............MESSAGE 修正ver.(機能も追加) /doraza (02/02/16(Sat) 16:18) [473]
......MESSAGE さらに修正・・・ /doraza (02/02/16(Sat) 21:07) [477]


親記事 / ▼[ 471 ] ▼[ 477 ]
NO.470  11行BGM再生
□投稿者/ doraza -(2002/02/15(Fri) 23:36:00)
□U R L/ http://www.geocities.jp/skyquarters/
{---プログラム掲示板投稿フォーム---
【ソフト名】11行BGM再生 (バージョン 0.50)
【作 成 者】ドラザエモン (連絡先:dorazaemon@fly.to)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.26
【転  載】可(ご自由に)
【改変運用】可(投稿したプログラムを他人が改造し運用することを欲す)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】無理矢理11行で書いてみました(笑)
      フォルダを指定して、その中の音楽ファイルを自動的に連続再生します。
      再生中は何も表示されないので目障りに感じません。
      但し本当に表示されないので、途中でやめるにはひまわりパッド側から停止するか、[Ctrl]+[Alt]+[delete]のコマンドで強制終了して下さい。

      追伸)連続再生のプログラムが少し見苦しいです。もっと良いアルゴリズムを考えられないでしょうか?
---投稿フォームここまで---}

母艦の、可視を、オフに、設定。
フォルダ選択。
「*.mp3;*.wav;*.mid;*.wma;*.wm;*.asf;*.asx」の、ファイル列挙。
それを、反復(トラック#回数は、それ。)。I=1
*再生
もし、トラック#I=「」ならば、終わり。
トラック#Iを、演奏。I=I+1
*チェック
演奏状態。もし、それが、未設定ならば、再生へ、飛ぶ。
3秒、待つ。
チェックへ、飛ぶ。



▲[ 470 ] / ▼[ 473 ]
NO.471  Re[1]: 11行BGM再生
□投稿者/ moka -(2002/02/16(Sat) 02:17:11)
□U R L/ http://www.geocities.jp/moka21/teatime/
> 「*.mp3;*.wav;*.mid;*.wma;*.wm;*.asf;*.asx」の、ファイル列挙。

wmaなど演奏できます?うちは出来ないです。

○ wav,mid,avi,mpg,mp3
× mov,wma,wmv,asf,rm



▲[ 471 ] / 返信無し
NO.473  修正ver.(機能も追加)
□投稿者/ doraza -(2002/02/16(Sat) 16:18:41)
□U R L/ http://www.geocities.jp/skyquarters/
エラー報告ありがとうございました。
asxファイルも動作が怪しいので外しました。

それだけでは芸が無いのでm3uファイル、mmlファイルも読み込めるようにしてみました。
これで、ファイルを同じフォルダにおいていなくてもm3uを読み込むことで連続再生できます。

もちろん、mmlの再生にはdSakura.dllが必要です。

{---プログラム掲示板投稿フォーム---
【ソフト名】BGM再生プログラム (バージョン 0.80)
【作 成 者】ドラザエモン (連絡先:dorazaemon@fly.to)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.26
【転  載】可(ご自由に)
【改変運用】可(投稿したプログラムを他人が改造し運用することを欲す)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(test.mid)
【コメント】フォルダを指定して、その中の音楽ファイルを自動的に連続再生します。
      再生中は何も表示されないので目障りに感じません。
      但し本当に表示されないので、途中でやめるにはひまわりパッド側から停止するか、[Ctrl]+[Alt]+[delete]のコマンドで強制終了して下さい。

      追伸)連続再生のプログラムが少し見苦しいです。もっと良いアルゴリズムを考えられないでしょうか?
---投稿フォームここまで---}
母艦の、タイトルを、「BGM再生プログラム」に、設定。
母艦の、可視を、オフに、設定。
フォルダ選択。
「*.mp3;*.wav;*.mid;*.asf;*.m3u;*.mml」の、ファイル列挙。
それを、反復(トラック#回数は、それ。)。I=1

*再生
   トラック#Iから、拡張子を切り出す。
   それを、小文字変換。
   もし、それ=「.m3u」ならば、M3Uプラグインへ、飛ぶ。
   もし、それ=「.mml」ならば、MMLプラグインへ、飛ぶ。
   もし、トラック#I=「」ならば、終わり。
   トラック#Iを、演奏。I=I+1
*チェック
   演奏状態。もし、それが、未設定ならば、再生へ、飛ぶ。
   3秒、待つ。チェックへ、飛ぶ。

*M3Uプラグイン
   再生リストに、トラック#Iを、読む。
   再生リストを、反復(
      パスは、それ。
   'ここからの命令が無いとストリーミング再生のときにエラーになります。
      パスの中で、1から、7つ、切り出す。
      それを、小文字変換。
      もし、それ=「http://」なら、抜ける。
   'ここまで
      パスを、演奏。
      M3Uチェックを、呼ぶ。
   )。
   I=I+1。再生へ、飛ぶ。
*M3Uチェック
   演奏状態。もし、それが、未設定ならば、戻る。
   3秒、待つ。M3Uチェックへ、飛ぶ。

*MMLプラグイン
   サクラに、トラック#Iを、読む。
   '以下は、ひまわりのヘルプから引用し改変したものです。
   {命令の宣言}
   「dSakura.dll」の、「MMLtoMIDI(?を,?の名前で,?)」を、
   「MMLコンパイル」で、DLL宣言。
   {実際に呼び出す}
   エラー文字列に、256バイトを、確保。
   {↑エラー文字列は256バイト確保してないとエラーが出るため。}
   サクラを、「test.mid」の名前で、エラー文字列、MMLコンパイル。
   もし、エラー文字列<>「」ならば、エラー文字列を、言う。
   エラーを無視。
   「test.mid」を、演奏。
   エラーを警告。
   '(以上)
   I=I+1。チェックへ、飛ぶ。



▲[ 470 ] / 返信無し
NO.477  さらに修正・・・
□投稿者/ doraza -(2002/02/16(Sat) 21:07:42)
□U R L/ http://www.geocities.jp/skyquarters/
またエラーを数ヶ所発見してしまいました。

・mml再生時に、謎のダイアログが表示されるのを修正。
・mml再生時に、指定したフォルダに謎のmidiファイルが生成されるのを修正。
・作業フォルダ関係の不具合を修正。
・dSakura.dllが存在しないのにmmlを再生しようとするのを修正。

また、プログラムの都合上、dSakura.dll(とInclude フォルダ)は、このプログラムを保存したフォルダ内に格納してください。
どうも、お騒がせしました。。。

まだバグが存在する(ような気がする)ので、発見された方はレスお願いします。
感想なども書いていただけると嬉しいです。

{---プログラム掲示板投稿フォーム---
【ソフト名】BGM再生プログラム (バージョン 0.84)
【作 成 者】ドラザエモン (連絡先:dorazaemon@fly.to)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.26
【転  載】可(ご自由に)
【改変運用】可(投稿したプログラムを他人が改造し運用することを欲す)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(test.mid)
【コメント】フォルダを指定して、その中の音楽ファイルを自動的に連続再生します。
      再生中は何も表示されないので目障りに感じません。
      但し本当に表示されないので、途中でやめるにはひまわりパッド側から停止するか、[Ctrl]+[Alt]+[delete]のコマンドで強制終了して下さい。
      追伸)連続再生のプログラムが少し見苦しいです。もっと良いアルゴリズムを考えられないでしょうか?
【更新履歴】
ver.0.80 -> ver.0.84
・mml再生時に、謎のダイアログが表示されるのを修正。
・mml再生時に、指定したフォルダに謎のmidiファイルが生成されるのを修正。
・作業フォルダ関係の不具合を修正。
・dSakura.dllが存在しないのにmmlを再生しようとするのを修正。
また、プログラムの都合上、dSakura.dll(とInclude フォルダ)は、このプログラムを保存したフォルダ内に格納してください。
ver.0.50 -> ver.0.80
m3uファイル、mmlファイルも読み込めるようになりました。
これで、ファイルを同じフォルダにおいていなくてもm3uを読み込むことで連続再生できます。
---投稿フォームここまで---}

母艦の、タイトルを、「BGM再生プログラム」に、設定。
母艦の、可視を、オフに、設定。
「{母艦のパス}\\dSakura.dll」が、存在するか。
もし、それが、はいならば、skr=「;*.mml」。
ダイアログキャンセルの値=「{マイドキュメントのパス}\\my Music」
フォルダ選択。
「*.mp3;*.wav;*.mid;*.asf;*.m3u」&skrの、ファイル列挙。
それを、反復(トラック#回数は、それ。)。I=1

*再生
   エラーを警告。'エラー処理初期化
   もし、トラック#I=「」ならば、終わり。
   トラック#Iから、拡張子を切り出す。
   それを、小文字変換。
   もし、それ=「.m3u」ならば、M3Uプラグインへ、飛ぶ。
   もし、それ=「.mml」ならば、MMLプラグインへ、飛ぶ。
   トラック#Iを、演奏。I=I+1
*チェック
   演奏状態。もし、それが、未設定ならば、再生へ、飛ぶ。
   3秒、待つ。チェックへ、飛ぶ。

*M3Uプラグイン
   再生リストに、トラック#Iを、読む。
   再生リストを、反復(
      パスは、それ。
   'ここからの命令が無いとストリーミング再生のときにエラーになります。
      パスの中で、1から、7つ、切り出す。
      それを、小文字変換。
      もし、それ=「http://」なら、抜ける。
   'ここまで
      パスを、演奏。
      M3Uチェックを、呼ぶ。
   )。
   I=I+1。再生へ、飛ぶ。
*M3Uチェック
   演奏状態。もし、それが、未設定ならば、戻る。
   3秒、待つ。M3Uチェックへ、飛ぶ。

*MMLプラグイン
   サクラに、トラック#Iを、読む。
   '以下は、ひまわりのヘルプから引用し改変したものです。
   {命令の宣言}
   「{母艦のパス}\\dSakura.dll」の、「MMLtoMIDI(?を,?の名前で,?)」を、
   「MMLコンパイル」で、DLL宣言。
   {実際に呼び出す}
   エラー文字列に、256バイトを、確保。
   {↑エラー文字列は256バイト確保してないとエラーが出るため。}
   MMLエラーに、エラー処理設定。
   サクラを、「{母艦のパス}\\test.mid」の名前で、エラー文字列、MMLコンパイル。
   「{母艦のパス}\\test.mid」を、演奏。
   '(以上)
   I=I+1。チェックへ、飛ぶ。
*MMLエラー
   エラー文字列を、言う。
   I=I+1。再生へ、飛ぶ。

'ここまで読んでくれた人におまけ。デスクトップアクセサリーっす。
'http://briefcase.yahoo.co.jp/skyquarters
'↑このページから"yaochoo"をクリック!



- Child Tree -