トップページ > 過去ログ > 記事閲覧
PlayMusic と PlaySoundのバックグラン同時
名前:XXX 日時: 2012/10/25 23:22

音関連で質問させて下さい。 PlayMusic でBGMをバックグランドでループ再生しながらPlaySound で音声メッセージを処理を止めずにバックグランドで再生させたいのですが、良い方法はありますでしょうか? 実際に実行させるとPlyaSoundで再生しようとしている音声は出力されていません。ノーマル再生では問題なく再生できますが、処理を止めたくありません。何か方法はありましたらご教授をお願いいたします。

Page: 1 |

Re: PlayMusic と PlaySoundのバックグラン同時 ( No.1 )
名前:管理人 日時:2012/10/28 02:48

手元で PlayMusic( "Sound1.wav", DX_PLAYTYPE_LOOP ) ; WaitTimer( 1000 ) ; PlaySound( "Sound2.wav", DX_PLAYTYPE_BACK ) ; という風なプログラムを実行してみたのですが、問題なく両方とも再生されました ただ、再生するサウンドファイルの形式によっては同時に再生することができないと思います よろしければお使いのサウンドファイルの形式を教えていただけないでしょうか?
Re: PlayMusic と PlaySoundのバックグラン同時 ( No.2 )
名前:XXX 日時:2012/10/29 08:27

申し訳ありません。 ライブラリが古かったようです。最新のライブラリにて問題は解決したのですが、PlayMusic()でBGMを出力しつつ、異なる音声メッセージをPlaySound()で3つ続けて再生しようとすると最後に命令したPlaySound()しか出力されません。 因みに再生ファイルはMP3です。お手数をお掛け致しますが、ご回答をお願い致します。
Re: PlayMusic と PlaySoundのバックグラン同時 ( No.3 )
名前:管理人 日時:2012/10/31 00:21

(時間が無いため簡易レスです、すみません) 3つ続けてとのことですが、3つの音声メッセージを同時に再生されようとしているのでしょうか? PlaySound は同時に一つの音しか再生することができませんので、もし同時に複数の音を 再生されたいということでしたら LoadSoundMem や PlaySoundMem などの 「サウンドハンドル」を利用する関数を使用してください
Re: PlayMusic と PlaySoundのバックグラン同時 ( No.4 )
名前:XXX 日時:2012/10/31 08:23

説明不足で申し訳ありません。 PlaySound では1つずつの再生になります。 以下の様に再生を行っていますが最後に命令したサウンドしか再生されません。 PlayMusic("testBGM.mp3"); <--- 再生されます。 PlaySound("test1.mo3"); <--- 再生されません。 PlaySound("test2.mo3"); <--- 再生されません。 PlaySound("test3.mo3"); <--- 最後に再生を命令したサウンドのみが再生されます。 お手数をお掛け致しますが、ご回答をお願い致します。
Re: PlayMusic と PlaySoundのバックグラン同時 ( No.5 )
名前:Will 日時:2012/10/31 09:04

プログラムの記述は正確にお願いします。 PlaySoundFile( "test1.mp3" , DX_PLAYTYPE_BACK) ; PlaySoundFile( "test2.mp3" , DX_PLAYTYPE_BACK) ; PlaySoundFile( "test3.mp3" , DX_PLAYTYPE_BACK) ; 上記の用に記述しているのでしょうか? これでは最後しか演奏されないのは当然です。 test1の演奏が終わった後に、test2を行いたいのであれば PlaySoundFile( "test1.mp3" , DX_PLAYTYPE_NORMAL) ; PlaySoundFile( "test2.mp3" , DX_PLAYTYPE_NORMAL) ; PlaySoundFile( "test3.mp3" , DX_PLAYTYPE_NORMAL) ; としてください。 なお、DXライブラリには再生する音楽を事前予約するような機能はありませんので testXを再生中に更に別の処理もしたいというのであれば CheckSoundFile関数を使用して音楽の再生が終わっているかをチェックする必要があります。
Re: PlayMusic と PlaySoundのバックグラン同時 ( No.6 )
名前:XXX 日時:2012/10/31 10:25

ご回答、ありがとうございます。 プログラムの記述、大変失礼いたしました。 以下の様に記述しています。 PlaySoundFile( "test1.mp3" , DX_PLAYTYPE_BACK) ; PlaySoundFile( "test2.mp3" , DX_PLAYTYPE_BACK) ; PlaySoundFile( "test3.mp3" , DX_PLAYTYPE_BACK) ; なるほど。冷静に考えてみれば確かに仰せの通りでした。 再生中に別の処理も行いためCheckSoundFile関数で再生をチェックするようにします。 記述及び説明に不備があった事をお詫びいたします。 また、的確なご回答ありがとうございました。

Page: 1 |