いつもお世話になります。
PlayMovieを使って動画を再生しようとしたところ色々とおかしな事になって困っております。
原因として考えられる事を絞り込もうとしたのですがますますおかしな事になってしまい、結局進んでません。
現状や、やってみた事を可能な限り並べてみますので
何かおかしな点や、アドバイスありましたらご教示ください。
・プログラムは画面320*240サイズで作っている。
・再生したい動画も320*240サイズで作っている。
形式はAVIとmp4の両方を試してみたが違いは特になかった。
1)プログラムをウィンドウモードで実行すると、動画再生は正常に行われる。
SetWindowSizeExtendRateで拡大しても問題ない。
ただし、画像が非常に汚くて使い物にならない。
2)プログラムをフルスクリーンモードで実行すると、動画の位置がずれる。
具体的には動画の左上座標が、画面の中心付近にくる。
つまり右下に画面半分くらいずれている。
3)色々ためそうと、拡大縮小やウィンドウモードフルスクリーンモードの切り替え、
SetEmulation320x240によるエミュレーションモード等をやっていると
なぜかムービーのみが別ウィンドウで開かれるようになった。
プログラムを再起動すると元に戻った。
4)状況をまとめようと、以下のサンプルプログラムを作ってみたが、
動画の再生すらされなかった。
//----------------------------------------------
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
PlayMovie( "test.avi" , 1 , DX_MOVIEPLAYTYPE_NORMAL ) ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
//----------------------------------------------
ログファイルには次のとおり。
//----------------------------------------------
0:システムの情報を出力します
1: DXライブラリ Ver3.07
1: 論理プロセッサの数 : 1
1: OS WindowsXP ( Build 2600 Service Pack 3 )
101: CPU動作速度:大体1.80GHz
101: MMX命令を使用します
101: SSE命令が使用可能です
101: SSE2命令が使用可能です
101: CPUベンダ:AuthenticAMD
102: CPU名:AMD Athlon(tm) 64 Processor 3000+
103:COMの初期化... 成功しました
105:メモリ総量:2047.23MB 空きメモリ領域:1444.93MB
105:タイマーの精度を検査します
105:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
106: パフォーマンスカウンターを使用します タイマー精度 : 3579.545000 KHz
106: ソフトの二重起動検査... 二重起動はされていませんでした
107:ウインドウクラスを登録します... 登録に成功しました
107:フルスクリーンモード用のウインドウを作成します
111:ウインドウの作成に成功しました
137:カーソルを不可視にしました
138:IMEを無効にしました
140:DirectInput関係初期化処理
140: DirectInput7 の取得中... 成功
152: 引き続き初期化処理... 初期化成功
157: ジョイパッドの初期化...
165: 入力装置を見つけました
167: デバイスの登録名:Rumble Pad
167: デバイスの製品登録名:Rumble Pad
168: 周期的エフェクトの作成に失敗しました。
169: ジョイパッドの追加は正常に終了しました
169: ジョイパッドの初期化は正常に終了しました
169: マウスデバイスの初期化... 初期化成功
170: キーボードデバイスの初期化... 初期化成功
170:DirectInput 関連の初期化は正常に終了しました
171:DirectSound の初期化を行います
172:DirectSound インターフェースの取得を行います.... 成功
173:引き続きインターフェースの初期化処理... 成功
239: DirectSound デバイスを列挙します
240: モジュール名: ドライバ記述:プライマリ サウンド ドライバ
240: モジュール名: ctaud2k.sys ドライバ記述:SB Live! オーディオ [9000]
240: 最大サンプリングレート:192.00KHz 最小サンプリングレート:4.00KHz
240: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB
240: 利用可能サンプリング精度
241: プライマリ 16bit = OK 8bit = OK
241: セカンダリ 16bit = OK 8bit = OK
241: 利用可能チャンネル
241: プライマリ MONO = OK STEREO = OK
241: セカンダリ MONO = OK STEREO = OK
242:DirectSound の初期化は正常に終了しました
252:DirectDraw オブジェクトの取得を行います.... 成功
253:引き続き初期化処理... 初期化に成功しました
255:IDirect3D9Ex オブジェクトを取得します.... IDirect3D9 オブジェクトを取得します.... 成功
338:IDirect3DDevice9 オブジェクトを取得します.... ハードウエア頂点演算を使用します
1328:成功
1329:Driver:ati2dvag.dll Description:ATI Radeon HD 4600 Series
1330:画面のフォーマットは D3DFMT_R5G6B5 です
1331:Zバッファのフォーマットは D3DFMT_D16 です
1332:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
1333:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
1333:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です
1334:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
1335:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です
1336:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
1337:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です
1337:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です
1338:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です
1339:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です
1340:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です
1341:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です
1341:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
1342:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
1342:描画用ABGR浮動小数点16ビット型カラーフォーマットは D_D3DFMT_A16B16G16R16F です
1342:描画用ABGR浮動小数点32ビット型カラーフォーマットは D_D3DFMT_A32B32G32R32F です
1343:最大テクスチャサイズ 幅:8192 高さ:8192
1343:テクスチャステージテンポラリレジスタ:使用可
1343:減算合成のハードウェア対応:ネイティブ
1344:頂点シェーダーバージョンコード:300
1344:ピクセルシェーダーバージョンコード:300
1801:バックバッファロック転送の時間:146206nsec 一時的な描画可能バッファを使用した転送の時間:1857nsec
1802:バックバッファロックを使用しません
1803:Zバッファを作成します.... 成功
1840:プログラマブルシェーダーを使用します
2104:フォントの初期化を行います
2114:フォントの初期化は正常に終了しました
2122:文字コードバッファの初期化を行います... 完了しました
2348:テクスチャ描画情報の作成に失敗しました
2349:右記のグラフィックファイルの格納用グラフィック領域の作成に失敗しました:test.avi
2350:フォントの初期化を行います
2350:フォントの初期化は正常に終了しました
2370:Direct3DDevice9 の解放 3
2931:Direct3D9 DLL の解放 4
3286:DirectInput 関連の終了処理... 完了
3292:DirectSound の終了処理は正常に終了しました
3293:ウインドウを閉じようとしています
3327:ウインドウが破棄されようとしています
3329:ソフトを終了する準備が整いました
3498:
3498:Alloc memory dump
3498: Total size:0(0.000kb) Alloc num:0
3498:
//----------------------------------------------