トップページ > 記事閲覧
VC#でサウンド関連の関数が正常に動作しない
名前:japanham 日時: 2013/09/17 02:01

Visual Studio Express 2012 Win7 64bit を使用しています。 表記の通り、VC#でサウンド関連の関数を呼び出すと返り値が必ずエラーとなってしまいます。 (sound関連以外の関数は大体実行できます。) 以下にエラーとなるサンプルコードを記します。 VC#で当ライブラリを使用するにあたってreadme.txtの記載事項以外にも必要な設定等あるのでしょうか? お手数をおかけしますが、ご確認の程宜しくお願いします。 -- private void button1_Click(object sender, EventArgs e) { int ret = DX.PlaySoundFile("sound\test.wav", DX.DX_PLAYTYPE_BACK); if (ret == -1) { MessageBox.Show("ERROR"); } int FileHandle = DX.FileRead_open("test.txt");//こういうのはエラーにならない if (FileHandle == 0) { MessageBox.Show("FileRead Error"); } DX.FileRead_close(FileHandle); }
メンテ

Page: 1 |

Re: VC#でサウンド関連の関数が正常に動作しない ( No.1 )
名前:管理人 日時:2013/09/17 23:24

"sound\test.wav" ですが、こちらを "sound\\test.wav" としてみたらどうでしょうか? 文字列にはエスケープシーケンスという機能がありまして、\t と書かれている部分は タブ文字に置き換えられてしまいます
メンテ
Re: VC#でサウンド関連の関数が正常に動作しない ( No.2 )
名前:japanham 日時:2013/09/18 12:44

申し訳ありません、サンプルコードに書き直す際に\が抜けていました。 以下のように修正しましたが、PlaySoundFileのみエラーが発生します。 お手数をおかけしますが、再度ご確認いただけますでしょうか。 -- private void button1_Click(object sender, EventArgs e) { int ret = DX.PlaySoundFile("sound\\test.wav", DX.DX_PLAYTYPE_BACK); if (ret == -1) { MessageBox.Show("ERROR"); } int FileHandle = DX.FileRead_open("sound\\test.wav");//こういうのはエラーにならない if (FileHandle == 0) { MessageBox.Show("FileRead Error"); } DX.FileRead_close(FileHandle); }
メンテ
Re: VC#でサウンド関連の関数が正常に動作しない ( No.3 )
名前:japanham 日時:2013/09/18 12:54

尚、PlaySoundFileではなくLoadSoundMemでも試しましたが、同様にエラーが発生してしまいます。 wavファイル読み込み処理時の問題でしょうか?
メンテ
Re: VC#でサウンド関連の関数が正常に動作しない ( No.4 )
名前:管理人 日時:2013/09/19 00:37

私の手元では PlaySoundFile も LoadSoundMem も正常に wavファイルを読み込むことが出来ました FileRead_open ではエラーにならないとしますと、wavファイルのデータ形式がDXライブラリが 対応していない形式になっている可能性があります( wavファイルはデータ形式が必ずしも非圧縮PCMとは限らないので・・・ ) もし不都合が無ければ読み込めない wavファイルを BQE00322(あっとまーく)nifty.ne.jp ( (あっとまーく)を@に置き換えてください ) にメールで送って頂けないでしょうか? 原因を調べてみたいと思います あと、もしお使いのDXライブラリのバージョンが最新( 3.11 )ではないのでしたら、 お手数で申し訳ありませんが最新バージョンのDXライブラリをお試しになってみてください
メンテ
Re: VC#でサウンド関連の関数が正常に動作しない ( No.5 )
名前:管理人 日時:2013/09/19 23:10

メールをお送りいただきありがとうございます こちらで送って頂いた wavファイルを読み込んでみましたが、問題なく再生することが出来ました プログラムを実行すると、実行ファイルがあるフォルダに Log.txt というファイルが作成されて、 ロードに失敗した際の情報などが出力されるので、よろしければ Log.txt の内容を まるごと掲示板にコピー&ペーストしていただけないでしょうか?
メンテ

Page: 1 |

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

   クッキー保存