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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0621
カズwavファイルの再生について4解決


カズ

リンク

2006/6/21(Wed) 04:13:12|NO.1169

mmload、mmplay命令を使って、
wavファイルをループ再生するスクリプトを書きましたが、

なぜか、別のwavファイルを再生するとループが止まってしまいます。


 mmload "bgm1.wav", 1, 1 ;BGM1はループ再生  mmload "bgm2.wav", 2, 1 ;BGM2はループ再生  mmload "se1.wav", 10, 0 ;効果音は通常再生  mmplay 2 ;BGM2を流し続ける *main  if ( キーが押されたら ) : mmplay 10 ;効果音を再生  wait 3  goto *main

だいぶ省略していますが、スクリプトの問題の部分は上記のような感じです。

このスクリプトを実行すると、BGM2がループで再生されますが、
効果音を再生時に、BGM2は止まってしまいました。

ですが、
BGM2をBGM1とさしかえると、効果音再生時にもBGM1は流れ続けます。

不可解な現象ですので、どなたかこれが分かる方がいらっしゃいましたら教えてください。
特にプラグインなどは使用しておりません。



この記事に返信する


トホホッティー

リンク

2006/6/21(Wed) 08:57:28|NO.1171

同時に音楽ファイルを鳴らした場合、違うファイル形式の音楽ファイルでないと音が消されてしまいます。

WAVでBGMしてるなら効果音はMIDIかWMAなどにしてください。

効果音がWAVのほうが便利なのでBGMをMIDIにすると良いかもしれません。



なたで

リンク

2006/6/21(Wed) 08:57:50|NO.1172

>すでにサウンドが再生されている状態で、さらにmmplay命令を実行すると、前
のサウンド再生を終了してから、新しく指定したサウンドの再生を始めます。
>ただし、MIDIの再生中にPCMを再生するなど異なるデバイスの場合は、 再生が
中止されることはありません。
といった説明がヘルプに載ってます。mmplayはDirectXを使ってないため
同一のデバイスでの同時再生は基本的にサポートされてないと思います。

カズさんの同時再生の問題についての回答になっていなくてすいません。



I386

リンク

2006/6/21(Wed) 12:37:45|NO.1173

皆さんが言っているように、mmplayではそのような現象が起こってしまいます。
なたでさんの言う通り、DirectSound(←もしこれについて分からなかったらネットで検索などして
自分で調べましょう(^o^)!)などに対応させる必要があるので、やはりプラグインに頼るしか
なさそうです。



カズ

リンク

2006/6/24(Sat) 09:01:20|NO.1197

>トホホッティーさん、ご回答ありがとうございます(^^)
>違うファイル形式の音楽ファイルでないと音が消されてしまいます。

なるほど!そういうことだったのですか。

>なたでさん、
>カズさんの同時再生の問題についての回答になっていなくてすいません

いやいや書き込みくださるだけでも嬉しいです(^o^)
mmplayの仕様の問題だったんですね。ワタシの勉強不足でした。

>I386さん、
いつも手を差し伸べてくださってなんとお礼を言っていいやらm(_ _*)m

DirectSoundを含め、DirectXというものについて無知でした。
やはりWindows用ゲームなどを作るとなると、DirectXは欠かせない要素なのですね。

-----------------------------------------------------------------------------
今回の件については、トホホッティーさんの助言から、
ファイル形式をmp3に変えることでひとまず解決いたしました。

皆さん、この度のご協力たいへん感謝いたします。
ありがとうございました(^^)/



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