トップページ > 過去ログ > 記事閲覧
LoadSoundMemでエラーが起きるファイルがある
名前:Ray 日時: 2012/06/25 10:41

DXライブラリを使用してゲームを開発しています。 LoadSoundMemを使用してwav形式のファイルを読み込もうとした所、エラーコードの"-1"が返ってきました。 色々調査してみたところ、おそらくプログラムミスではなく、読み込めないwav形式のファイルがあるみたいです。 というのも、ソースをいじらずにファイルの中身を他のwav形式のファイルにすり替えたら上手く行きましたので… また、読み込めたファイルはBGM用に用意したもので再生時間が長めなのに対し、 読み込めないファイルは台詞用の短めのファイル(つまり用量が小さい)なので、ファイル容量の問題ではない気がします。 少し気になるのが読み込めないファイルはビットレートが1536kbpsと高めなのがいけないのかなと思うのですが… そこで質問なのですが、LoadSoundMemでサウンドファイルを読み込もうとする際、 DXライブラリの仕様として読み込めないwav形式のファイルと言うものがあるのでしょうか? 以上、よろしくお願いします。

Page: 1 |

Re: LoadSoundMemでエラーが起きるファイルがある ( No.1 )
名前:いっち 日時:2012/06/25 21:10

事象の発生するデータと事象発生時の log.txt をご提供下さい。
Re: LoadSoundMemでエラーが起きるファイルがある ( No.2 )
名前:管理人 日時:2012/06/25 23:43

1536kbpsのwav形式ですか・・・ wav形式は波形データを PCM形式( 無圧縮 )にしたり、mp3形式にしたりと色々な形式を選べるのですが、 読み込めない wavファイルの波形データ形式は何でしょうか? > DXライブラリの仕様として読み込めないwav形式のファイルと言うものがあるのでしょうか? 波形データ形式が PCM形式( 無圧縮形式 )以外の wavファイルはPCにインストールされているコーデック次第で 正常に読み込めるかどうかが決まるので、PCにコーデックがインストールされていない波形データ形式の wavファイルは読み込めない、ということになります PCM形式はコーデックの力を借りなくても読み込むことができますので、よろしければ波形データ形式を PCM形式にしてみてください あと、読み込めない wav形式のファイルに少し興味がありますので、よろしければそのファイルをこちら BQE00322( あっとまーく )nifty.com ( ( あっとまーく )を@に置き換えてください ) に送っていただけないでしょうか?
Re: LoadSoundMemでエラーが起きるファイルがある ( No.3 )
名前:さげ 日時:2012/06/26 20:45

1536kbpsというと48000Hz,16bit,stereoのようですが、 .wavにもヘッダ長が違うのがありますからねえ…
Re: LoadSoundMemでエラーが起きるファイルがある ( No.4 )
名前:管理人 日時:2012/06/27 01:18

なるほど、48KHz, 16bit, stereo が 1536kbps なんですね Windows標準ソフトのサウンドレコーダーで48KHz, 16bit, stereo のwavファイルを作成して DXライブラリで再生してみましたが、コーデックなどを必要とせずに普通に再生することが出来ましたので、 さげさんの仰られている通りwavファイルがDXライブラリが正常に読み込めないヘッダになっているのかもしれません
Re: LoadSoundMemでエラーが起きるファイルがある ( No.5 )
名前:Ray 日時:2012/06/27 07:49

皆様、書き込みありがとうございます。 対応策と致しましては、該当ファイルを全てwav形式からogg形式に変換したところ無事読み込めたので、 とりあえずはこの方法を取ろうかと思います。 >管理人様 指定されたメールアドレスに該当するファイルを添付して送信しましたのでよろしくお願いします。
Re: LoadSoundMemでエラーが起きるファイルがある ( No.6 )
名前:管理人 日時:2012/07/02 00:07

メールを拝見致しました 添付していただいたwavファイルを確認してみましたが、48KHzの32ビット浮動小数点型のモノラルというデータ形式でした 圧縮はされていませんでしたので、単純にそれを16ビット整数型にすることで再生できるようにすることができました ogg形式の方がデータ容量の節約になるので浮動小数点型の波形データを使用することは無いかもしれませんが、 よろしければその変更を加えたこちらのバージョンをお試しになってみてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
Re: LoadSoundMemでエラーが起きるファイルがある ( No.7 )
名前:Ray(解決) 日時:2012/07/02 12:55

管理人様、対応ありがとうございました。 変更を加えたバージョンでwavファイルの再生が出来ることをこちらでも確認しました。

Page: 1 |