5

VS 2010で、ユーザー入力の速度に基づいてビデオの再生速度をスムーズに増減するWindowsフォームアプリケーションを構築しています。

私はいくつかの道を試しました。

1.)AudioVideoPlayback DirectXクラスの使用-タイマーに基づいてビデオの現在の位置を設定することにより、ビデオの速度を設定し、ユーザー入力に基づいてその値を増減しました。これは私のPCで機能しましたが、ローエンドのターゲットPCではかなり遅れています。このクラスを使用して再生速度を増減するより効率的な方法を誰かが考えられますか?

2.)Windows Media Player ActiveXコントロールを試し、レート/位置を動的に設定しようとしましたが、これは開発用PCでも非常にジャンプして遅れます。

3.)VS2010に付属しているAppleQuickTime Control 2.0 COMコンポーネントを試しましたが、非常に動作が遅くなっています。

4.)Shockwave Flash Objectコントロールで速度を設定する方法を理解しようとしていますが、まだわかりません。

誰かが探検する他の道を提案できますか?ユーザーの入力に基づいて、遅れることなくスムーズにビデオ再生の速度を上げたり下げたりできる必要があります。ビデオがどのフォーマットである必要があるかは関係ありません。すべてのビデオを必要なフォーマットに変換できます。

任意のヘルプ/アイデアをいただければ幸いです。

ありがとう

4

2 に答える 2

1

究極の方法は、ビデオからビットマップをデコードし、フレームを自分で処理することです。

DirectShow.NETのCaptureNETの例を試してください。各フレームからビットマップをキャプチャできます。その後、リフレッシュレートを処理する独自の再生コントロールを作成します。

于 2012-06-23T00:57:19.100 に答える
0

多くの異なるフォーマット/ライブラリとコンポーネントを試した後、VLC Media Player ActiveXコントロールが、目立った遅れなしにビデオを遅くしたり速くしたりするための最も効率的な方法であることがわかりました。

于 2013-05-15T04:15:44.663 に答える