ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

HSPコミュの質問:HSP3でPCM同時再生

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めて書き込みをさせていただきます。
いきなり質問で申し訳ないのです。
HSP2.61ではプラグインがありましたが、HSP3.0でWAV,MP3などのPCMオーディオを同時再生する方法はないのでしょうか?

理想としては、プラグインなしがいいのですが…。プラグインありでもかまいません。

どうかご教授のほどをよろしくお願いします。

コメント(5)

こんにちは。

複数の音を同時再生するには、MCIでは無理なのでDirectXを使うことになると思われます。
DirectXをプラグインなしで実装するにはCOMを操作することでできる…ハズです。
(やったことがないので保障はしませんが(^^;)
ちょくとさんのサイトの「HSPからのCOM操作」が参考になるかと思われます。
http://yokohama.cool.ne.jp/chokuto/

手早く済ますにはプラグインを使う方が楽です。
自分はMIAさんのDirectSoundExtensionをHSP3.0で使ってます。
http://mia.taillove.jp/
標準命令のみでもできますが・・・
誰もそこに触れないところを見ると
なんかマズイのかな・・・

ついでに以下やってみたソース
screen

mmload "1.wav",0,0;0〜2は通常STGで言う
mmload "2.wav",1,0;ショット音とかで試すと好ましい
mmload "3.wav",2,0;
mmload "4.mp3",3,0;BGMとして使うので長めの曲が好ましい

mmplay 3
repeat
stick key
if(key==1){
mmplay 0
}
if(key==2){
mmplay 1
}
if(key==4){
mmplay 2
}
await 3:loop
stop

べつになんの飾り気もないウィンドウですが・・・
確認だけできればよいかと思ってちゃちゃっと作ってみました

キーを押すとBGMの上に音がでます

ちなみに一個前に同じものを書き込みましたが
ソースちょこっとミスったままだったので訂正しました
>>BLUEさん
自分も同じような実験したことがあります(^^;

mmloadは、2MB以下のWAVEファイルはメモリ上に読み込んでリアルタイムに鳴らせるんですが、同時に複数のバッファは再生できないっぽいです。
試しにちょっと長めのWAVEファイル(2秒ぐらいで十分ですが)を用意して、1〜3.wavにしてBLUEさんのサンプルで連打してみてください。
前の音が途切れるはずです。

2M以上のWAVEファイルやMP3はストリーム再生されるみたいです。
メモリを食わないので良いのですが、mmplayを指定してもすぐには再生されません。
あふろぼさん、BLUEさん。ありがとうございます。

mmplayの連射は過去に試したのですが、同時再生は無理だったのです。
しかし、HSP3って2.6xのプラグインそのまま使えるんですか…。知りませんでした。
しばらくはプラグインでしのぎながらCOMの勉強を少しずつしていきたいと思います。
しかし、COMで出来るということはそれを使ったモジュールを作ればそれなりに需要があるかもしれませんね。

返事遅くてスマソ

そうなんですか・・・

手元にあったフリーのシューティングゲームの中の
WAVファイルとちょうど聞いてたMP3ファイルだけで
ちゃちゃっと作ってちょっといじって

あっできるじゃん!!

みたいな感じでした
やはり確認はもう少しちゃんとやらないとだめですね・・・・

それとヨルムンガルドサソ
>COMで出来るということはそれを使ったモジュールを作ればそれなりに需要があるかもしれませんね。

需要なくてもやってくれたら俺がつかいますw(ぁ

現在はPHPを卒業研究でやってるのでHSPはあまり・・・
ですがその時そのときで
画像や、音声等必要なものはなるべくHSPで作ろうと頑張ってるので
モジュールとかあったらかなり欲しいですw

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

HSP 更新情報

HSPのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング