Re: PlayMovieToGraphについて ( No.1 ) |
- 名前:ライブラリ使用者 日時:2008/09/29 22:50
2つ目に関しては、SetAlwaysRunFlag(TRUE)で大丈夫だと思います。
1つ目は不明。できるのかな?
|
Re: PlayMovieToGraphについて ( No.2 ) |
- 名前:がまぐち 日時:2008/09/30 00:37
ライブラリ使用者様、回答ありがとうございます。
SetAlwaysRunFlagを使用してみたのですが、
なぜだかできませんでしたヽ(TдT)ノ
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE);
int MovieGraphHandle ;
if( DxLib_Init() == -1 ) return -1;
SetAlwaysRunFlag(TRUE);
MovieGraphHandle = LoadGraph( "test.mpg" ) ;
PlayMovieToGraph( MovieGraphHandle ) ;
while( ProcessMessage() == 0 )
{
DrawGraph( 0,0,MovieGraphHandle,1 ) ;
WaitTimer( 17 ) ;
}
DxLib_End() ;
return 0 ;
}
こんな感じのプログラムなのですが、どうすればいいのでしょうか?
|
Re: PlayMovieToGraphについて ( No.3 ) |
- 名前:管理人 日時:2008/10/14 04:13
現状では 2 に関してはライブラリ使用者さんの仰られている通り
SetAlwaysRunFlag( TRUE ); で解決できますが、1 に関しては
現状では解決策はありません。
対応策は無いわけではありませんが、ちょっとライブラリの構造が
複雑になってしまうのでなるべくなら控えたいところです・・・
がまぐちさんがお作りになっているソフトが、タイトルバーの
ドラッグ中に動画がストップしてしまうと、ソフトが提供する機能に
致命的な欠陥をもたらしてしまう、という程でしたら対処します。m(_ _;m
|
Re: PlayMovieToGraphについて ( No.4 ) |
- 名前:がまぐち 日時:2008/10/15 22:19
管理人様、回答ありがとうございます。
>動画がストップしてしまうと、ソフトが提供する機能に致命的な欠陥をもたらしてしまう
いや、そんなことはありません。(^^;;
ただ、WindowsMediaPlayerなどの動画再生ソフトでは再生がストップしないので、どうやるのかな?
という感じでした。
|
Re: PlayMovieToGraphについて ( No.5 ) |
- 名前:管理人 日時:2008/10/25 17:14
そういうことでしたか
Windows Media Player のように止まらないようにするには
WinMain 関数から始まるスレッドではメッセージ処理だけを実行して、
描画処理等はそれ以外のスレッドで実行する必要があります。
DXライブラリでは ProcessMessage がメッセージ処理になるのですが、
現在DXライブラリでは全スレッドで同時に一つしかDXライブラリの
関数が呼べないようになっている上、仮に同時に複数のスレッドから
DXライブラリの関数を呼べるようにした場合はマルチスレッド特有の
問題を解決しなければならないので( ProcessMessage 関数でキー入力の
情報を更新している間は CheckHitKey を他のスレッドから呼べないようにする、
若しくは呼んでも問題が起きないようにする等 ) ちょっと気軽に対応
することはできない状態です。m(_ _;m
|