アーカイブ

2008年 6月 18日 のアーカイブ

エロペガを改造し、環境によってVMR7、VMR9、EVRを使い分ける物を作った。
最も多機能なのはVMR9で、明るさやコントラストを指定できるのはこれのみだ。
しかし逆に、仮想マシン上で再生できないのもVMR9のみだ。
VMR7だけ実装すれば、VistaでもXPでも、実機でも仮想マシンでも再生は出来る。

というところまでは良いのだが、やはりDelphiからは、どれを利用してもそれぞれ不具合があって、
いくら研究してもその回避法に到達できないまま、ブツは予定の機能をすべてを実装し終えた。
VCLとの相性かと思い、非VCLのウィンドウを作って再生しても回避することは出来なかった。
もちろんXP上では全く不具合が発生しないが、64bitのVistaからは使い物にならないレベル。

同じ物を.NETで作ってるC♯版では同様の不具合が発生しないのだが、
64bit版のVistaで動作させるには64bit版のコーデックが必要だったりする。
これは、.NETアプリが環境に合わせて32bitでも64bitでも動作するからだ。
なんとかして、64bit版Vistaでも64bitではなく32bitで動作するようにできないかと試してたら、
ちゃんとx86専用バイナリを作るっていうオプションがあった。
x86専用にしちゃうと、32bitのコーデックしか入ってなくても、なんの不具合もなく何でも再生できる。
もうこれしかない。

つーわけで、作り直したエロペガを今度はC♯に移植しようという段階。
動画再生部分以外で移植が面倒くさい部分がたくさんありそうだ。
しかしどっちかっつーとC♯の方が好きなので、Delphi版で問題解決方法がわかるより、
.NET版で問題解決方法がわかったことの方が望むところだ。