容量の大きい音楽のロードについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
だんごさん
記事: 273
登録日時: 14年前

容量の大きい音楽のロードについて

#1

投稿記事 by だんごさん » 13年前

DxLibで音楽を再生するソフトを作っています。
リファレンスのSetCreateSoundDataTypeで、DX_SOUNDDATATYPE_MEMNOPRESSなど負荷のかかる(?)ようにセットした場合、ロードする音楽の容量が大きすぎると正しくロードできていません。逆に軽めにセットすると正しくロードできます。

正しくロードできていないときの返値が-1ではないのに困っています。
デバッグしてみると、ハンドルのような値が入っています。しかし再生できないし、音楽の長さも取得できません。
またロード中に固まらないように非同期で読み込んでいます。非同期読み込みは正常に作動しています。

何か原因があるのでしょうか?


VC++2008
Windows 7
DxLib 3.10a
 Dango San

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: 容量の大きい音楽のロードについて

#2

投稿記事 by beatle » 13年前

僕はDxLibに詳しくなくて的外れかもしれませんが、取り敢えず読み込もうとして失敗するファイルと成功するファイルの容量・形式を記載するといいかもしれません。
できれば実験に用いた音楽ファイルを添付していただくともっといいですね。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#3

投稿記事 by だんごさん » 13年前

beatle さんが書きました:取り敢えず読み込もうとして失敗するファイルと成功するファイルの容量・形式を記載するといいかもしれません。
ユーザーがどんな音楽を流したいか予測不能のため、実験として大容量の音楽データを読み込んだところこのような事態になりました。

音楽の容量ですが、83,793KB、59,803KBでも失敗しました。成功するのは5000KBが基準です。ロード方法をDX_SOUNDDATATYPE_FILEというタイプ(読み込み速度の速いタイプ)に変えると容量大の音楽もちゃんとロードすることができます。
形式はすべてMP3です。
beatle さんが書きました:できれば実験に用いた音楽ファイルを添付していただくともっといいですね。
そうですね…んー…動画からとってきたものなのでここで添付してもいいんですかね…
 Dango San

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 容量の大きい音楽のロードについて

#4

投稿記事 by ISLe » 13年前

DX_SOUNDDATATYPE_MEMNOPRESSはデフォルト動作ですよね。
非同期読み込みでなければ再生できるのでしょうか。

非同期読み込みは正常に作動しているとのことですが、読み込みが完了する前に再生しようとしているということはないでしょうか。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#5

投稿記事 by だんごさん » 13年前

ISLe さんが書きました:DX_SOUNDDATATYPE_MEMNOPRESSはデフォルト動作ですよね。非同期読み込みでなければ再生できるのでしょうか。
オフトピック
デフォルトでは
リファレンス さんが書きました:DX_SOUNDDATATYPE_MEMNOPRESS (デフォルト)
    説明:音声データを直接再生できる状態にしてメモリ上に保存
    読み込み速度:遅い 再生負荷:速い 必要メモリ領域:大きい
のように読み込み速度が遅いので、「負荷のかかる」と表現しています。
非同期読み込みなしでロードしてみました。あやうくPCごとフリーズしそうな感じでしたが、ロードに成功しました。

そこで非同期読み込み時にロードの返値が変わるという前回のトピックに基づいて、ロードの返値をチェックする関数を
調整し、返値が絶対正しく返るはずのプログラムにしました。
しかし非同期読み込みのロードは相変わらず失敗しています。

ISLe さんが書きました:非同期読み込みは正常に作動しているとのことですが、読み込みが完了する前に再生しようとしているということはないでしょうか。
非同期読み込みの完了チェックを得るようにしています。完了していない場合は次のステップへ進めないようにしていますので上記のようなことはないはずです。
一応、試してみます。
 Dango San

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 容量の大きい音楽のロードについて

#6

投稿記事 by ISLe » 13年前

だんごさん さんが書きました:そこで非同期読み込み時にロードの返値が変わるという前回のトピックに基づいて、ロードの返値をチェックする関数を
調整し、返値が絶対正しく返るはずのプログラムにしました。
しかし非同期読み込みのロードは相変わらず失敗しています。
そのプログラムが正しいのかどうかというのも明らかにしたいところなのですが。

DX_SOUNDDATATYPE_MEMNOPRESSで非同期読み込みに失敗するコードでも、DX_SOUNDDATATYPE_MEMPRESSに変えるだけで成功するということですよね。

とりあえずその現象を再現できる最低限のコードを提示できませんか?

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#7

投稿記事 by だんごさん » 13年前

ISLe さんが書きました:DX_SOUNDDATATYPE_MEMNOPRESSで非同期読み込みに失敗するコードでも、DX_SOUNDDATATYPE_MEMPRESSに変えるだけで成功するということですよね。
はい、ただし失敗するのは容量が大きい音楽データです。


再現プログラムですか…。お時間いただければやってみます。
 Dango San

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#8

投稿記事 by だんごさん » 13年前

色々試しているうちに新たに気づいたことがあります。

音声データの容量に関係なく、同時に複数(容量の大きいものと小さいもの何個か)のデータロードを行うと、ランダムでどれかのデータがロード失敗しています。
5つロードしたとして、その中に容量の大きいデータが1つでもあると容量関係なしにどれかがロード失敗します。
容量が小さいものだけのロードでもどれかが失敗することがわかりました。
また同時に複数のロードだと容量が大きいデータが確率的に一番失敗しやすいです。

1つだけ失敗する場合もあるし、2つ失敗するときもあるようにランダムですが、今のところ失敗しないということは確認できていません。

一応報告ですのでまだ実証中です。結果が不安定なのでハッキリ言えません
 Dango San

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#9

投稿記事 by だんごさん » 13年前

ごめんなさい、交通事故で右手が激痛でプログラミングが困難ですのでしばらく返事できません。
 Dango San

アバター
へにっくす
記事: 634
登録日時: 13年前
住所: 東京都

Re: 容量の大きい音楽のロードについて

#10

投稿記事 by へにっくす » 13年前

激痛な中よく投稿したな。
別に直ったらでいいんだよ?
written by へにっくす

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#11

投稿記事 by だんごさん » 13年前

ギブスが外れましたのでカタカタ打ちました。
サンプルコードです。ループで音量変更を行っているところがあまり良くないかもしれませんが正常に作動しました。
このコードで音楽のサイズが小さい場合と大きい場合で音量変更が正しくできるか(ハンドルが正しいか)が分かるかと思います。

コード:

#include "DxLib.h"
#define SOUND_NUM  (5)


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
						LPSTR lpCmdLine, int nCmdShow )
{
	int SdHandle[SOUND_NUM];
	int i;
	char SoundName[256] = {"test.mp3"};

	ChangeWindowMode(TRUE);

	DxLib_Init();


	SetCreateSoundDataType(DX_SOUNDDATATYPE_MEMNOPRESS);
	//ロード負荷設定(デフォルト)

	SetUseASyncLoadFlag( TRUE ) ;
	//非同期読み込み

	for( i = 0 ; i < SOUND_NUM ; i ++ )
	{
		//サウンド読み込み
		SdHandle[ i ] = LoadSoundMem( SoundName ) ;

	}

	// 同期読み込み設定に変更
	SetUseASyncLoadFlag( FALSE ) ;
	// 描画先を裏画面にする
	SetDrawScreen( DX_SCREEN_BACK ) ;

	while( ProcessMessage() == 0 && CheckHitKeyAll() == 0)
	{

		// 画面のクリア
		ClearDrawScreen() ;
       //現在の読み込み個数
		DrawFormatString(0,20,GetColor(255,255,255),"%d/%d完了",SOUND_NUM - GetASyncLoadNum() , SOUND_NUM);


		if(GetASyncLoadNum()==0)
		{//非同期読み込み中が0個なら(=完了した)
			
			DrawString(0,0,"読み込み完了",GetColor(255,255,255));

			for(int n = 0; n < SOUND_NUM ; n++)
			{
				//ハンドル表示
				DrawFormatString(0,40 + 20 * n , GetColor(255,255,255), "Handle[%d]=%d", n , SdHandle[n]);
				//もし音量変更に失敗したら
				if(ChangeVolumeSoundMem( 255 , SdHandle[n] )!=0 )
					DrawFormatString(300,40 + 20 * n , GetColor( 255 , 0 , 0 ), "音量変更エラー");
			}

		}
			



		ScreenFlip();

	}

	DxLib_End() ;			// DXライブラリ使用の終了処理

	return 0 ;			// ソフトの終了
}


音量変更でエラー調べてますが、私の作っているソフトではもちろん再生も総時間取得もできません。
なお実験で使用したファイルサイズは小さいもので3517KB,大きいものは83793KBです。

音量変更にエラーが出ない場合の時のコードを何度も走らせてみてください。たまに最後の2つが失敗したりなどの症状が出るかもしれません。
というか出ました。
 Dango San

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 容量の大きい音楽のロードについて

#12

投稿記事 by ISLe » 13年前

だんごさん さんが書きました:音量変更にエラーが出ない場合の時のコードを何度も走らせてみてください。たまに最後の2つが失敗したりなどの症状が出るかもしれません。
というか出ました。
Windows7のサンプルミュージックに入ってるデータで試してみました。
大きいもので8MB程度ですが。
とりあえず10回実行してみましたが、"音量変更エラー"はまったく表示されませんでした。

ウチはコア数の少ないCore2Duoなのでスレッド関連のバグが出にくかったりしますかね。
あとコンパイルオプションを変えての検証はしてません。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#13

投稿記事 by だんごさん » 13年前

ISLe さんが書きました:Windows7のサンプルミュージックに入ってるデータで試してみました。大きいもので8MB程度ですが。とりあえず10回実行してみましたが、"音量変更エラー"はまったく表示されませんでした。
もしかしたら自分のPCが原因なのかなと思いログなど調べてみました。

先ほども実行してみましたが、3回目で失敗しました。たまに3番目だけが失敗したり2と5番目が失敗など不定期です。
失敗したときのログを見てみました。

コード:

1787:グラフの構築に失敗しました音声ファイルのPCMへの変換に失敗しました
1791:右記の音声ファイルのロードに失敗しました_2:c:\Users\users name\Documents\Visual Studio 2008\Projects\test\test.mp3
と出ていました。


また自分で作ったサンプルコード(フォーラムに載せているコード)が、デバッグなしの実行のときにウィンドウが表示されて数秒後何もせずに終了する症状も出ています。
リビルドするとデバッグなしで実行しても成功しますがその後失敗します。
デバッグありで実行すると成功します。ただデバッグ時にVCがフリーズしかけるので、まだ何回も行っていません。
その時のログです。

コード:

0:システムの情報を出力します
0:	DXライブラリ Ver3.10a
0:	論理プロセッサの数 : 8
0:	OS  Windows7 ( Build 7601 Service Pack 1 )
100:	CPU動作速度:大体3.20GHz
101:	MMX命令を使用します
101:	SSE命令が使用可能です
102:	SSE2命令が使用可能です
103:	CPUベンダ:GenuineIntel
105:	CPU名:        Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
106:COMの初期化... 成功しました
107:メモリ総量:8174.68MB  空きメモリ領域:6226.03MB 
109:タイマーの精度を検査します
110:精度結果 更新回数 マルチメディアタイマー:0  パフォーマンスカウンター:60
110: パフォーマンスカウンターを使用します タイマー精度 : 3312.880000 KHz 
111: ソフトの二重起動検査... 二重起動はされていませんでした
112:ウインドウクラスを登録します... 登録に成功しました
113:ウインドウモード起動用のウインドウを作成します
135:ウインドウの作成に成功しました
135:ウインドウを表示します
209:IMEを無効にしました
210:ウインドウスタイルをウインドウモード用に変更します... 完了
229:DirectInput関係初期化処理
229:	XInput DLL の読み込み中... 成功
231:	DirectInput7 の取得中... 成功
242:		引き続き初期化処理... 初期化成功
245:	ジョイパッドの初期化... 
254:	入力装置を見つけました
254:		デバイスの登録名:JC-PS101U
255:		デバイスの製品登録名:JC-PS101U
256:	周期的エフェクトの作成に失敗しました。
257:	ジョイパッドの追加は正常に終了しました
257:	ジョイパッドの初期化は正常に終了しました
257:	マウスデバイスの初期化... 初期化成功
258:	キーボードデバイスの初期化... 初期化成功
260:DirectInput 関連の初期化は正常に終了しました
261:DirectSound の初期化を行います
261:DirectSound インターフェースの取得を行います....  成功
263:引き続きインターフェースの初期化処理...  成功
363:	DirectSound デバイスを列挙します
364:		モジュール名:                 ドライバ記述:プライマリ サウンド ドライバー 
364:		モジュール名:{0.0.0.00000000}.{0442093e-524e-457a-bfc0-7f5a6497b8c2}  ドライバ記述:スピーカー (Realtek High Definition Audio) 
365:	最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 
365:	総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 

365:	利用可能サンプリング精度
366:	 プライマリ 16bit = OK  8bit = OK 
366:	 セカンダリ 16bit = OK  8bit = OK 

367:	利用可能チャンネル
367:	 プライマリ MONO = OK  STEREO = OK 
367:	 セカンダリ MONO = OK  STEREO = OK 

368:DirectSound の初期化は正常に終了しました
370:DirectDraw オブジェクトの取得を行います....  成功
373:引き続き初期化処理... 初期化に成功しました
396:IDirect3D9Ex オブジェクトを取得します.... 成功
399:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
684:成功
685:Driver:nvd3dum.dll  Description:NVIDIA GeForce GTX 560 
686:画面のフォーマットは D3DFMT_X8R8G8B8 です
686:Zバッファのフォーマットは D3DFMT_D16 です
687:16bit カラーフォーマットは D3DFMT_R5G6B5 です
687:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
687:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です
688:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
688:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です
688:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
689:DXT1テクスチャフォーマットはD3DFMT_DXT1 です
689:DXT2テクスチャフォーマットはD3DFMT_DXT2 です
689:DXT3テクスチャフォーマットはD3DFMT_DXT3 です
690:DXT4テクスチャフォーマットはD3DFMT_DXT4 です
690:DXT5テクスチャフォーマットはD3DFMT_DXT5 です
690:描画用 16bit カラーフォーマットは D3DFMT_R5G5B5 です
691:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
691:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
691:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です
692:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です
692:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です
692:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_L8 です
693:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_L16 です
693:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です
693:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です
694:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です
694:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
694:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です
695:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です
695:一度に描画できるプリミティブの最大数:16777215
695:対応している最大頂点インデックス:16777215
696:同時にレンダリングできるバッファの数:4
696:最大テクスチャサイズ 幅:8192 高さ:8192
696:テクスチャステージテンポラリレジスタ:使用可
697:減算合成のハードウェア対応:ネイティブ
697:ハードウェア頂点シェーダーバージョンコード:300
697:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し
698:ピクセルシェーダーバージョンコード:300
704:バックバッファロック転送の時間:116nsec  一時的な描画可能バッファを使用した転送の時間:500nsec
705:バックバッファロックを使用します
705:Zバッファを作成します.... 成功
722:プログラマブルシェーダーを使用します

821:フォントの初期化を行います
823:フォントの初期化は正常に終了しました
839:文字コードバッファの初期化を行います... 完了しました
848:フォントの初期化を行います
849:フォントの初期化は正常に終了しました
850:Direct3DDevice9 の解放 2
882:Direct3D9 DLL の解放 1
885:DirectInput 関連の終了処理... 完了
2970:DirectSound の終了処理は正常に終了しました
2976:ウインドウを閉じようとしています
2984:ウインドウが破棄されようとしています
2984:ソフトを終了する準備が整いました
3019:
3019:Alloc memory dump
3020:	Total size:0(0.000kb)  Alloc num:0
3020:
またソフトがフリーズし、Windowsからプログラムを終了しますか?と表示されたのが今起きました。
その時のログです。

コード:

1865:グラフの構築に失敗しました音声ファイルのPCMへの変換に失敗しました
1867:右記の音声ファイルのロードに失敗しました_2:c:\Users\users name\Documents\Visual Studio 2008\Projects\test\test.mp3
1868:以下のメモリ確保情報が破損しました、強制終了します
1869:HEAD  BASE:c0 4c 6b 00  e8 09 85 08  64 6c 65 2e  63 70 70 00    23 00 bf 00  28 16 00 00  18 81 84 08  b8 85 6a 00
1869:HEAD TEMP1:69 6e 5c 44  78 48 61 6e  64 6c 65 2e  63 70 70 00    23 00 bf 00  28 16 00 00  18 81 84 08  b8 85 6a 00
1870:HEAD TEMP2:69 6e 5c 44  78 48 61 6e  64 6c 65 2e  63 70 70 00    23 00 bf 00  28 16 00 00  18 81 84 08  b8 85 6a 00
1870:	size:      5672(     5.539kb)  file:タLk                         line:191    ID:35     addr:006edfd8  data:<........(.......> [01 00 00 00 00 00 01 0c 28 16 00 00 00 00 00 00]
1870:	size:      5672(     5.539kb)  file:in\DxHandle.cpp             line:191    ID:35     addr:006edff8
1871:	size:      5672(     5.539kb)  file:in\DxHandle.cpp             line:191    ID:35     addr:006ef640
またメモリ不足も考えてみましたが空き容量6400MBに数千KBが5曲入らないわけないと思います。
上記のログはそれっぽいんですけどね…


どれもこれも不定期過ぎて意味が分からなくなってきました。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#14

投稿記事 by softya(ソフト屋) » 13年前

OSとかメモリの破損レベルで不安定な気がしますが、メモリチェックをされたことはありますか?
「Windows 7/Vista の健康チェック:メモリ診断の利用方法」
http://freesoft.tvbok.com/windows7/tool/memcheck.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#15

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:OSとかメモリの破損レベルで不安定な気がしますが、メモリチェックをされたことはありますか?
メモリーエラーは検出されませんでした。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#16

投稿記事 by softya(ソフト屋) » 13年前

メモリは大丈夫でしたか。
あとはウィルス対策ソフトの過度な干渉とかが考えられますが何をお使いですか?

それと共通環境で調べないと意味が無いので、問題が再現するmp3のフリーの公開可能なものを探してみてください。
「MP3フリー音楽素材・効果音」 こんなのとか。
http://www.hmix.net/music_gallery/music_top.htm
これなら、どれが問題と言ってもらえばこちらでもダウンロード出来ます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#17

投稿記事 by だんごさん » 13年前

ネットからとってきたものもWindowsのサンプルミュージックでもエラーが出ませんでした。

一応実験で使用したBGMはMusMusの「プラスチックアドベンチャー」という長めの曲にしてみました。
サンプルミュージックはWindwosのサンプルで「kalimba」です。

プラスチックアドベンチャーはデバッグなしで44回しましたがエラーなし。kalimbaはデバッグありで15回ほどしましたがエラーなしです。
しかしデバッグなしの実行時は毎回ビルドしないとウィンドウを表示するだけで勝手に終了する症状が出ます。


そこでエラーが出る曲と、エラーが出ない曲とのプロパティを比べてみました。
すると、エラーが出ない曲ではビットレートが192kbps,エラーが出る曲は128kbpsだということが分かりました。

ウィルスセキュリティはF-Secureです。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#18

投稿記事 by softya(ソフト屋) » 13年前

> しかしデバッグなしの実行時は毎回ビルドしないとウィンドウを表示するだけで勝手に終了する症状が出ます。
これが不思議なんですよね。ウィルス対策ソフト停止状態でも同じ症状は出ますでしょうか? → 実験中は物理的にネット切断が望ましいです。

あとフリー素材でダウンロードしたものでエラーになる曲は無かったのでしょうか?
こちらでもテストしてみたいんですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#19

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:これが不思議なんですよね。ウィルス対策ソフト停止状態でも同じ症状は出ますでしょうか? → 実験中は物理的にネット切断が望ましいです。
症状は治りませんでした。
softya(ソフト屋) さんが書きました:あとフリー素材でダウンロードしたものでエラーになる曲は無かったのでしょうか?
ネットで取ってきたものは、エラーが出るだろうと思っていた128kbpsの曲もその他の曲も、名前を全角でやってみたり、別のフォルダに同じ曲をコピーしてみたり(動機不明)しましたがエラーが出ることはありませんでした。
ただ、エラーが出る元の曲でロードした時は2回目くらいでエラーが出ました。

プロパティを見ても何の違いがあるのか分かりません。しかもエラーは不定期ですし本当に実験結果が正しいかも分かりません。


またデバッグなしの時の勝手に消える症状ですが、自分が作成しているDxLibの別のコードは正しく動きます。
VCを再起動させてもサンプルのほうはビルド経由ではないと消えてしまいます。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#20

投稿記事 by softya(ソフト屋) » 13年前

>VCを再起動させてもサンプルのほうはビルド経由ではないと消えてしまいます。

ここの症状はウィルス対策ソフトっぽいんですよね。ウィルス対策ソフトのログを確認して隔離されていないか確認してみてください。

それとエラーの出るmp3が特定されるのなら、そのmp3の情報の一部が破損している可能性が高いと思います。
一度別のmp3の変換ソフトを通してみると直るかもしれません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#21

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:それとエラーの出るmp3が特定されるのなら、そのmp3の情報の一部が破損している可能性が高いと思います。一度別のmp3の変換ソフトを通してみると直るかもしれません。
まだやってないのに質問して申し訳ないですが、mp3の情報の一部が破損していてもロードできる場合があるのでしょうか?
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#22

投稿記事 by softya(ソフト屋) » 13年前

だんごさん さんが書きました:
softya(ソフト屋) さんが書きました:それとエラーの出るmp3が特定されるのなら、そのmp3の情報の一部が破損している可能性が高いと思います。一度別のmp3の変換ソフトを通してみると直るかもしれません。
まだやってないのに質問して申し訳ないですが、mp3の情報の一部が破損していてもロードできる場合があるのでしょうか?
破損や規格逸脱してもそれなりに再生できる再生ソフトもあれば落ちるソフトもあるので、DXライブラリでは無理だったのでは?とおもいます。
mp3も色々規格があるのでbps自体が規格外の可能性もあります。
「MP3 - Wikipedia」
http://ja.wikipedia.org/wiki/MP3#.E4.BB.95.E6.A7.98
例えばビットレート
32k, 40k, 48k, 56k, 64k, 80k, 96k, 112k, 128k, 160k, 192k, 224k, 256k, 320kbps(MPEG-1 Audio Layer-3)
8k, 16k, 24k, 32k, 40k, 48k, 56k, 64k, 80k, 96k, 112k, 128k, 144k, 160kbps(MPEG-2/2.5 Audio Layer-3)
で192kbps場合(MPEG-2/2.5 Audio Layer-3)だと規格外です。

【補足】 こんなのも使ってみると良いでしょう。
「EncSpot Pro でMP3ファイルの詳細な情報を調べる方法 PCプチ技能向上委員会?」
http://enjoypcblog.blog32.fc2.com/blog-entry-21.html

失礼ツールが消えてました。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#23

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:それとエラーの出るmp3が特定されるのなら、そのmp3の情報の一部が破損している可能性が高いと思います。一度別のmp3の変換ソフトを通してみると直るかもしれません。
変換ソフトで出力されたmp3をロードしてみたところ何回やってもエラーなしでした。

ただビルドが・・・。
f-secureのログがどこにあるかネットで調べても見つけられなかったというか分からなかったので、ソフトがフリーズしたときのwindowsのイベントビューアーのログを載せます。

コード:

障害が発生しているアプリケーション名: test.exe、バージョン: 0.0.0.0、タイム スタンプ: 0x5141c7ff
障害が発生しているモジュール名: ntdll.dll、バージョン: 6.1.7601.17725、タイム スタンプ: 0x4ec49b8f
例外コード: 0xc0000374
障害オフセット: 0x000ce6c3
障害が発生しているプロセス ID: 0x25cc
障害が発生しているアプリケーションの開始時刻: 0x01ce20b392a4380c
障害が発生しているアプリケーション パス: c:\Users\users name\Documents\Visual Studio 2008\Projects\test\Debug\test.exe
障害が発生しているモジュール パス: C:\Windows\SysWOW64\ntdll.dll
レポートID: xxx(数字とか英文字)

コード:

障害バケット 、種類 0
イベント名: APPCRASH
応答: 使用不可
Cab ID: 0

問題の署名:
P1: test.exe
P2: 0.0.0.0
P3: 5141c7ff
P4: StackHash_fdb9
P5: 6.1.7601.17725
P6: 4ec49b8f
P7: c0000374
P8: 000ce6c3
P9: 
P10: 

添付ファイル:

これらのファイルは次の場所にある可能性があります:
C:\Users\users name\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_test.exe_10fb39db5495fe7452bba05064af7c72f96f817a_09cd10e6

分析記号: 
解決策を再確認中: 0
レポートID:xxx(数字とか英文字)
レポートの状態: 0
公開していいか分からないのですが大丈夫ですよね?個人情報みたいな。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#24

投稿記事 by softya(ソフト屋) » 13年前

例外コード: 0xc0000374はヒープメモリの破壊ですので、ヒープメモリはnewやらMallocで割り当てられるメモリですので、ポインタや配列のアクセスで範囲外アクセスが発生した事しかわからないのです。つまり元々のヒープメモリの破壊の原因は不明で、別の所でヒープメモリの破壊を検出して停止したと言うことが分かるだけです。

f-secureに関しては良く分かりませんが、mp3との関係をもういちど整理してもらえませんか。
VCのフリーズが起こる最低限の条件です。
1)問題のmp3 必要・不要・無関係
2)デバッグビルド 必要・不要・無関係
3)mp3の再生機能があるソースコード 必要・不要・無関係
4)デバッグ開始 必要・不要・無関係
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#25

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:f-secureに関しては良く分かりませんが、mp3との関係をもういちど整理してもらえませんか。VCのフリーズが起こる最低限の条件です。1)問題のmp3 必要・不要・無関係2)デバッグビルド 必要・不要・無関係3)mp3の再生機能があるソースコード 必要・不要・無関係4)デバッグ開始 必要・不要・無関係
申し訳ないのですが、質問がよくわかりません。どういう風に答えれば良いのでしょうか?
フリーズするのはVCではなくサンプルコードを走らせたソフトですが・・・。同じ意味ですかね?
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#26

投稿記事 by softya(ソフト屋) » 13年前

すいません。勘違いでした。VC++ではなくフリーズするのはVCではなくサンプルコードって事ですね。
そのプログラムがフリーズする条件を整理して欲しいのです。
いろんな情報が出てきているので最低限の再現条件が分からなくなっておりまして、mp3と関係あるのか無いのかもさえもよく分からないんです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#27

投稿記事 by だんごさん » 13年前

とりあえずまとめてみました。

1. まず、MP3の非同期読み込みが不定期に失敗するということでトピックをたてました。
   これについてはおそらくMP3が一部破損していたためということで考えております。
2. MP3のロードのサンプルコードを提示させてもらいました。   
   ・ここで、デバッグなしの実行時にビルド経由ではないと、「ウィンドウを表示し、数秒後勝手に終了する」という症状が発生しました。
        ・ ビルド経由なしで実行した場合、上記の症状、又はソフトのフリーズが確認されておりますが、フリーズに関しましてはかなり頻度の低い発生確率です。
             フリーズの原因はメモリのアクセス違反だろうという考察になっています。
             なおネット回線の物理的切断、ウィルスセキュリティの停止、VC++2008の再起動、PCの再起動をし実験しましたが治りませんでした。
             また別のDxLibのソフト、トピックを建てることになった原因の音楽ソフトでは普通に作動します。つまりこのような症状が出るのはサンプルコードだけです。
        ・ ビルド経由で実行した場合、上記の症状は出ず、フリーズすることもありません。
             なお、DxLibなどのログは前回のトピックで載せています。
   ・この時点でMP3のロード失敗の原因が上記1に記されている通り、判明したと思われます。
    つまり、このサンプルコードは音楽関係ですが、MP3とは関係ありません。



フリーズする条件は分かりません。
あと、コードを作ってしばらくはビルドなしでもデバッグなしの実行が出来ていましたが、何回も実験しているうちに、いつの間にかそのような症状が出てきたと思います。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#28

投稿記事 by softya(ソフト屋) » 13年前

問題のmp3は破損しているかDXLIBにとって規格外であろうと言うことですね。
もう一つのフリーズは、No: 11のサンプルコードでデバッグ開始でビルドしないまま何回か実行するとフリーズすると言う現象が起こっている。
この2つは別件である。と言う理解で良いでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#29

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:問題のmp3は破損しているかDXLIBにとって規格外であろうと言うことですね。もう一つのフリーズは、No: 11のサンプルコードでデバッグ開始でビルドしないまま何回か実行するとフリーズすると言う現象が起こっている。この2つは別件である。と言う理解で良いでしょうか?
はい。別フォーラム建てなくていいですかね・・・?
ただ、「デバッグ開始でビルドしないまま・・・」
ここは、
「デバッグなしで開始し、ビルドしないまま・・・」ですね。
デバッグ開始で実行すると症状は出ません。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#30

投稿記事 by softya(ソフト屋) » 13年前

だんごさん さんが書きました:
softya(ソフト屋) さんが書きました:問題のmp3は破損しているかDXLIBにとって規格外であろうと言うことですね。もう一つのフリーズは、No: 11のサンプルコードでデバッグ開始でビルドしないまま何回か実行するとフリーズすると言う現象が起こっている。この2つは別件である。と言う理解で良いでしょうか?
はい。別フォーラム建てなくていいですかね・・・?
ただ、「デバッグ開始でビルドしないまま・・・」
ここは、
「デバッグなしで開始し、ビルドしないまま・・・」ですね。
デバッグ開始で実行すると症状は出ません。
まぁ、いまさらですが別フォーラムにした方が私が混乱しなかったでしょうね。
「デバッグなしで開始し、ビルドしないまま・・・」だとVC++を使わずにexeをダブルクリックしてもフリーズすることは有るのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#31

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:「デバッグなしで開始し、ビルドしないまま・・・」だとVC++を使わずにexeをダブルクリックしてもフリーズすることは有るのでしょうか?
かなりの回数やってみましたがフリーズすることはありませんでした。
ただ例の症状は起きます。頻度としては20回やって4回なる感じです。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#32

投稿記事 by softya(ソフト屋) » 13年前

だんごさん さんが書きました:
softya(ソフト屋) さんが書きました:「デバッグなしで開始し、ビルドしないまま・・・」だとVC++を使わずにexeをダブルクリックしてもフリーズすることは有るのでしょうか?
かなりの回数やってみましたがフリーズすることはありませんでした。
ただ例の症状は起きます。頻度としては20回やって4回なる感じです。
すいません。例の症状とは?
No: 27のまとめに書いてなかった事でしょうか。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#33

投稿記事 by だんごさん » 13年前

すみません、省略してしまって。

「ウィンドウを表示し、数秒後勝手に終了する」です。
ウィンドウには何も表示されず勝手に終了してしまいます。

exeから実行し、上記の症状が出た時のDxLibのログです。
No.13のはVCからの実行結果です。

コード:

0:システムの情報を出力します
0:	DXライブラリ Ver3.10a
0:	論理プロセッサの数 : 8
0:	OS  Windows7 ( Build 7601 Service Pack 1 )
100:	CPU動作速度:大体3.23GHz
100:	MMX命令を使用します
101:	SSE命令が使用可能です
101:	SSE2命令が使用可能です
102:	CPUベンダ:GenuineIntel
103:	CPU名:        Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
104:COMの初期化... 成功しました
105:メモリ総量:8174.68MB  空きメモリ領域:5098.47MB 
107:タイマーの精度を検査します
107:精度結果 更新回数 マルチメディアタイマー:0  パフォーマンスカウンター:60
108: パフォーマンスカウンターを使用します タイマー精度 : 3312.890000 KHz 
109: ソフトの二重起動検査... 二重起動はされていませんでした
110:ウインドウクラスを登録します... 登録に成功しました
111:ウインドウモード起動用のウインドウを作成します
131:ウインドウの作成に成功しました
131:ウインドウを表示します
210:IMEを無効にしました
211:ウインドウスタイルをウインドウモード用に変更します... 完了
231:DirectInput関係初期化処理
231:	XInput DLL の読み込み中... 成功
233:	DirectInput7 の取得中... 成功
243:		引き続き初期化処理... 初期化成功
246:	ジョイパッドの初期化... 
255:	入力装置を見つけました
255:		デバイスの登録名:JC-PS101U
256:		デバイスの製品登録名:JC-PS101U
256:	周期的エフェクトの作成に失敗しました。
257:	ジョイパッドの追加は正常に終了しました
258:	ジョイパッドの初期化は正常に終了しました
258:	マウスデバイスの初期化... 初期化成功
259:	キーボードデバイスの初期化... 初期化成功
260:DirectInput 関連の初期化は正常に終了しました
261:DirectSound の初期化を行います
262:DirectSound インターフェースの取得を行います....  成功
264:引き続きインターフェースの初期化処理...  成功
320:	DirectSound デバイスを列挙します
320:		モジュール名:                 ドライバ記述:プライマリ サウンド ドライバー 
321:		モジュール名:{0.0.0.00000000}.{0442093e-524e-457a-bfc0-7f5a6497b8c2}  ドライバ記述:スピーカー (Realtek High Definition Audio) 
321:	最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz 
322:	総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 

322:	利用可能サンプリング精度
323:	 プライマリ 16bit = OK  8bit = OK 
323:	 セカンダリ 16bit = OK  8bit = OK 

323:	利用可能チャンネル
324:	 プライマリ MONO = OK  STEREO = OK 
324:	 セカンダリ MONO = OK  STEREO = OK 

325:DirectSound の初期化は正常に終了しました
327:DirectDraw オブジェクトの取得を行います....  成功
329:引き続き初期化処理... 初期化に成功しました
348:IDirect3D9Ex オブジェクトを取得します.... 成功
350:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
610:成功
611:Driver:nvd3dum.dll  Description:NVIDIA GeForce GTX 560 
611:画面のフォーマットは D3DFMT_X8R8G8B8 です
611:Zバッファのフォーマットは D3DFMT_D16 です
612:16bit カラーフォーマットは D3DFMT_R5G6B5 です
612:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
612:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です
613:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
613:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です
613:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
614:DXT1テクスチャフォーマットはD3DFMT_DXT1 です
614:DXT2テクスチャフォーマットはD3DFMT_DXT2 です
614:DXT3テクスチャフォーマットはD3DFMT_DXT3 です
615:DXT4テクスチャフォーマットはD3DFMT_DXT4 です
615:DXT5テクスチャフォーマットはD3DFMT_DXT5 です
615:描画用 16bit カラーフォーマットは D3DFMT_R5G5B5 です
616:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
616:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
616:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です
617:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です
617:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です
617:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_L8 です
618:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_L16 です
618:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です
618:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です
619:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です
619:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
620:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です
620:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です
620:一度に描画できるプリミティブの最大数:16777215
621:対応している最大頂点インデックス:16777215
621:同時にレンダリングできるバッファの数:4
621:最大テクスチャサイズ 幅:8192 高さ:8192
621:テクスチャステージテンポラリレジスタ:使用可
622:減算合成のハードウェア対応:ネイティブ
622:ハードウェア頂点シェーダーバージョンコード:300
622:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し
623:ピクセルシェーダーバージョンコード:300
629:バックバッファロック転送の時間:122nsec  一時的な描画可能バッファを使用した転送の時間:500nsec
629:バックバッファロックを使用します
630:Zバッファを作成します.... 成功
646:プログラマブルシェーダーを使用します

748:フォントの初期化を行います
750:フォントの初期化は正常に終了しました
766:文字コードバッファの初期化を行います... 完了しました
775:フォントの初期化を行います
776:フォントの初期化は正常に終了しました
777:Direct3DDevice9 の解放 2
1127:Direct3D9 DLL の解放 1
1129:DirectInput 関連の終了処理... 完了
4634:DirectSound の終了処理は正常に終了しました
4640:ウインドウを閉じようとしています
4649:ウインドウが破棄されようとしています
4649:ソフトを終了する準備が整いました
4684:
4684:Alloc memory dump
4684:	Total size:0(0.000kb)  Alloc num:0
4685:
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#34

投稿記事 by softya(ソフト屋) » 13年前

なにも表示せずに終了するのは、こちらでもキーボードを押しながら再現しますが若干遅延する事はあっても、数秒は掛からないみたいです。
こちらは、遅延具合からするとウィルス対策ソフトの原因の可能性はありますね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#35

投稿記事 by だんごさん » 13年前

勝手に終了する症状はCheckHitKeyAll関数に引っかからないように何も操作しなくても消えます。
DxLib_Ini();
WaitTimer(1000);
DxLib_End();
↑のコードを実行しているような症状です。終了するまでの時間は不定期ですけどね。


本題に戻しますけど、MP3がロード失敗した時はせめて戻り値-1などのエラーが特定できればいいんですけどね…。一部破損だと中途半端にロードされてしまってエラーが返ってこないのかなと思いますけど…。
 Dango San

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 容量の大きい音楽のロードについて

#36

投稿記事 by softya(ソフト屋) » 13年前

だんごさん さんが書きました:勝手に終了する症状はCheckHitKeyAll関数に引っかからないように何も操作しなくても消えます。
DxLib_Ini();
WaitTimer(1000);
DxLib_End();
↑のコードを実行しているような症状です。終了するまでの時間は不定期ですけどね。


本題に戻しますけど、MP3がロード失敗した時はせめて戻り値-1などのエラーが特定できればいいんですけどね…。一部破損だと中途半端にロードされてしまってエラーが返ってこないのかなと思いますけど…。
DXライブラリの想定外のmp3が原因でヒープメモリが破壊されていますので残念ですがプロセスとして現状では継続不能です。
「_set_invalid_parameter_handler (CRT)」
http://msdn.microsoft.com/ja-jp/library ... s.80).aspx
とかでエラートラップして、エラー情報出力して終了するのが精一杯です。

なにか方法が用意されているかもしれませんのでDXライブラリ自体の管理人さんに質問してみるのも手かもしれません。
再生できるようには出来ないかもしれませんが、エラー対応は出来るかもしれないです。
「DXライブラリ質問掲示板」
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?
質問する時は、相互リンクでお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

だんごさん
記事: 273
登録日時: 14年前

Re: 容量の大きい音楽のロードについて

#37

投稿記事 by だんごさん » 13年前

softya(ソフト屋) さんが書きました:なにか方法が用意されているかもしれませんのでDXライブラリ自体の管理人さんに質問してみるのも手かもしれません。再生できるようには出来ないかもしれませんが、エラー対応は出来るかもしれないです。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2957
こちらにフォーラムを建てさせていただきました。
このフォーラムについては解決ということにしておきます。長々とありがとうございました。
 Dango San

閉鎖

“C言語何でも質問掲示板” へ戻る