トップページ > 記事閲覧
音がなぜかループしてしまう
名前:PP 日時: 2021/05/11 19:13

PlaySoundMemを使って一度だけ音を再生したいのですが、下記のコードを入力して実行するとなぜか音がループしてしまいます。 一度だけ音を再生する方法を教えてください。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); int Handle, Count = 0; Handle = LoadSoundMem("a.wav"); // while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) { Count++; if (Count ==1) { PlaySoundMem(Handle, DX_PLAYTYPE_BACK,0); } } DxLib_End(); return 0; }
メンテ

Page: 1 |

Re: 音がなぜかループしてしまう ( No.1 )
名前:管理人 日時:2021/05/12 01:09

手元で載せて頂いたプログラムの a.wav の部分を Test.wav に変更して実行した所、 正常に1度だけ音が再生されました wavファイルに何か原因があるかもしれませんので、もし不都合がなければ a.wav を BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) ↑こちらのメールアドレスに送っていただけないでしょうか? m(_ _)m 手元で実際にループしてしまうのを確認できれば原因の調査もすぐに済むと思いますので…
メンテ
Re: 音がなぜかループしてしまう ( No.2 )
名前:PP 日時:2021/05/12 19:21

管理人さんがわざわざ返信して頂きありがとうございます。 管理人さんの通り使用したwavファイルを送信させていただきました。 返信お待ちしております。
メンテ
Re: 音がなぜかループしてしまう ( No.3 )
名前:管理人 日時:2021/05/13 02:06

a.wavファイルの送信ありがとうございます a.wav を調べさせていただいたところ、主にループ情報に使用されるsmplチャンクが存在していました DXライブラリでは wavファイルに smplチャンクが存在する場合、それをループ情報として扱い 且つループ情報がある場合は再生モードを DX_PLAYTYPE_BACK にしてもループ情報に従って ループ再生するような仕様となっています なので、お手数で申し訳ないのですが a.wav から smplチャンクを取り除いたものを LoadSoundMem で 読み込むようにしてください m(_ _;m ( Audacity などで a.wav を読み込み、何もせずに wavファイルとして保存すると smplチャンクの 無い a.wavを作成することができます ) <窓の杜 Audacity 無料の音声編集ソフト> https://forest.watch.impress.co.jp/library/software/audacity/
メンテ
Re: 音がなぜかループしてしまう ( No.4 )
名前:PP(解決) 日時:2021/05/13 17:10

詳しく教えていただきありがとうございました。 管理人さんの通りにしてみたらループしなくなりました。 本当にありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存