トップページ > 記事閲覧
一部の動作環境でMP3が短時間でループする
名前:外の人 日時: 2022/07/26 18:33

DXライブラリで開発したゲームのSteamコミュニティで一部のMP3音楽が数秒で初めから再生されるのを繰り返す現象が報告されています。 発生する条件が特定できず、修正できておりません。開発環境上では問題なく再生できています。 対処法の情報を募りたいです。 以下、自身の開発・動作環境 OS:Windows11 プロセッサ:Intel(R) Core(TM) i7-9700 CPU 3,00GHz (8CPUs), ~ 3.0GHz メモリ:24GB GPU:NVIDIA GeForce GTX 1660 DirectX:DirectX12 ツール:Microsoft Visual Studio Community 2022 (64 ビット) ※プロジェクトファイルは2016で作成 言語:C++ 以下、URL ストアページ:ttps://store.steampowered.com/app/1424630/_/ 指摘内容:ttps://steamcommunity.com/app/1424630/discussions/0/3124912256611690918/ 指摘のあったBGM音源 ttps://dova-s.jp/bgm/play6043.html ttps://dova-s.jp/bgm/play7610.html ttps://dova-s.jp/bgm/play9455.html 以下、BGM再生を行っている関数のソースコード g_bgm : BGMのハンドルを格納するint変数 g_save.bgm_vol : セーブデータ内の音量設定(1~10) g_bgm_volum : 実際に再生する音量のdouble変数(0.0~1.0) void BgmPlay(BGM id, BOOL loop, BOOL reset){ int vol = (int)((255.0f / 10.0f) * g_save.bgm_vol * g_bgm_volum); ChangeVolumeSoundMem(vol, g_bgm[id]); if(loop == TRUE) PlaySoundMem(g_bgm[id], DX_PLAYTYPE_LOOP, reset); else PlaySoundMem(g_bgm[id], DX_PLAYTYPE_BACK, reset); }
メンテ

Page: 1 |

Re: 一部の動作環境でMP3が短時間でループする ( No.1 )
名前:管理人 日時:2022/07/27 00:19

すみません、MP3 の再生は各PCにインストールされているオーディオコーデックを使用して行っているのですが インストールされているコーデックによっては相性が悪く正常に再生できないことがあるようです MP3 と同じようなサウンドデータ圧縮形式である Ogg Vorbis であればDXライブラリ内にデコード処理が 含まれていて環境に左右されることなく安定して再生を行うことができますので、お手数で申し訳ありませんが mp3ファイルを Ogg Vorbisファイル( 拡張子ogg )に変換して使用するようにしてください m(_ _;m 尚、mp3ファイルを Ogg Vorbisファイルに変換にはフリーのサウンド編集ソフトの Audacity を使用するのがお勧めです <窓の杜 Audacity> https://forest.watch.impress.co.jp/library/software/audacity/ Audacity でmp3ファイルを読み込み、メニューから『ファイル(F)』→『書き出し(E)』→『OGG として書き出し(O)』を選択すると oggファイルとして保存できます( 『品質』はデフォルトの『5』で音質的にもファイルサイズ的にも問題ないと思います ) oggファイルは mp3ファイルと同じように LoadSoundMem で読み込むことができますので、作業としては 1.mp3ファイルを oggファイルに変換する 2.mp3ファイルを読み込んでいる箇所のファイル名の拡張子を mp3 から ogg に書き換える となります よろしければご検討ください m(_ _;m
メンテ
Re: 一部の動作環境でMP3が短時間でループする ( No.2 )
名前:外の人 日時:2022/07/27 07:24

>管理人 ご回答いただきありがとうございます。 mp3ファイルを使用していたところをoggに変更する方向で アップデートを試みてみます。
メンテ

Page: 1 |

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

   クッキー保存