Re: 動画を任意の時間で終了(ポーズ)することはできませんか? ( No.1 ) |
- 名前:憂煉 日時:2007/07/24 08:38
再生を開始した時点の時刻をGetNowTime関数で取得し、変数に入れておきます。
その後毎フレームでGetNowTime関数で時刻を取得し、先ほどの変数と値を比較すれば再生開始からの時間が出るので、その値が設定値を超えたら再生を止めると良いのです。
ちなみに、動画はメモリ上に読み込むのではなく、一部を読み込むオープンという動作になるので大量に操作してもあまり重くはならないと思います。ただ、確証は無いのでどのような動作をするか確認できたら書きこんで貰えると嬉しいです。
|
Re: 動画を任意の時間で終了(ポーズ)することはできませんか? ( No.2 ) |
- 名前:管理人 日時:2007/07/26 01:42
よしかずさん始めまして、DXライブラリの管理人です。
ご存知の通り任意の時間でピッタリ止める機能は今の所ありませんので、
現在の機能でご希望の処理を実現するとしたら分割した複数の動画を
予め読み込んでおくという方法を選択することになると思います。
現在のバージョンで同時に開くことが出来る動画の数は100が限界と
なっていますが、増やすことは可能ですので、もしもっと数が要る
ようでしたら仰ってください。(特定の時間でピッタリ止める機能の
追加をするだけの時間的余裕はありませんが、数を増やすだけでしたら
可能ですので)
ところで、全ての動画を予め読み込んでおかなければいけないほど
リアルタイム性を要する処理をされようとしているのでしょうか?
|
Re: 動画を任意の時間で終了(ポーズ)することはできませんか? ( No.3 ) |
- 名前:よしかず 日時:2007/07/27 13:44
管理人様、憂煉様、はじめまして。ご回答ありがとうございます。
・管理人様
>同時に開くことが出来る動画の数は100が限界と
なっていますが、増やすことは可能ですので
よくわかりました。動画の読み込み数の拡張をどうぞ宜しくお願い致します。m(_ _)m
300〜500ファイルほどに拡大できませんか?
また、C#を使用していますので、できればC#用のをお願いしたいのですが・・(^ ^;)
>全ての動画を予め読み込んでおかなければいけないほど
リアルタイム性を要する処理をされようとしているのでしょうか?
そんなことはないのですが、他に方法を知りませんでした(^ ^;)。
動画が必要になった時に読み込み(開く)をすればよいということですね。やってみます。
しかし、その場合も読み込む動画がトータルで100を超えると読み込めなくなるのでしょうか?
使い終わった動画をクローズし、新しい動画を代わりに読み込むということは出来るのでしょうか?
可能であれば100でも問題ないかと思います。
それでは、どうぞ宜しくお願い致します...m(_ _)m
・憂煉様
>GetNowTime関数で時刻を取得し、先ほどの変数と値を比較すれば再生開始からの時間が出るので、
その値が設定値を超えたら再生を止める
なるほど。シーンごとの長さをきっちり測っておいて、SeekMovieToGraphでシーンの先頭にアクセスし、
GetNowTimeでカウント開始、予め計っておいたシーンの終端時間が来たらポーズ。
やってみたいと思います。
>一部を読み込むオープンという動作になるので大量に操作してもあまり重くはならないと思います。
参考になります。実装したら結果を報告いたします。
ありがとうございました。
|
Re: 動画を任意の時間で終了(ポーズ)することはできませんか? ( No.4 ) |
- 名前:管理人 日時:2007/08/01 10:46
よしかずさんどうも、DXライブラリの管理人です。
> 動画が必要になった時に読み込み(開く)をすればよいということですね。
はい。
> しかし、その場合も読み込む動画がトータルで100を超えると読み込めなくなるのでしょうか?
> 使い終わった動画をクローズし、新しい動画を代わりに読み込むということは出来るのでしょうか?
お察しの通り、LoadGraph で読み込んでおく動画の数が100を超えると読み込めなくなりますが、
再生が終わった動画を順次 DeleteGraph で解放(クローズ)すれば読み込めなくなることはありません。
つまり同時に100個の動画を再生しようとしない限り読み込めなくなるということはありません。
|
Re: 動画を任意の時間で終了(ポーズ)することはできませんか? ( No.5 ) |
- 名前:よしかず 日時:2007/08/04 22:19
お返事遅れ申し訳ありません。
なるほど。DeleteGraphを使えばよかったのですね。
よくわかりました。これなら100で十分です。
ありがとうございました(^ ^)
|