DirectShowプログラミング [VC++]
来源:互联网 发布:淘宝天猫女鞋品牌故事 编辑:程序博客网 时间:2024/05/08 07:01
ここでは、DirectShowを使ってプログラムを書く方法を説明します。 DirectShowは、Windows上で映像(動画)や音声を扱うためのフレームワークです。 DirectShowを使うと、様々なフォーマットの映像や音声を簡単にキャプチャ/再生/保存できます。
このページは初心者向けDirectShow入門講座を目指しています。 DirectShowはCOM(Component Object Model)をベースに作られていますが、ここではCOMを知らない人でもDirectShowプログラミングをできるような説明を目指したいと考えています。
DirectXの準備
注意!DirectShowは2005年4月にDirectXからPlatformSDKへ移っています。 DirectShowを使いたい場合にはDirectXではなく、PlatformSDKをインストールしましょう。 Platform SDKをインストールした場合には、以下の設定に関する説明は読み飛ばしてください。
DirectShowは、Microsoft DirectXのサブセットです。 そのため、DirectShowを使ってプログラミングを行なうには、まず、DirectXをインストールしなくてはなりません。 WindowsXPであれば、DirectXは最初から含まれているので、DirectX自体をインストールする必要はありません。 それ以外のシステムでは、必要に応じてDirectX Runtimeのインストールが必要です。 DirectX Runtimeはマイクロソフトのサイトからダウンロードできます。
DirectXの機能を使ってプログラミングを行なうには、DirectX SDKをダウンロードしなくてはなりません。 DirectX SDKは、マイクロソフトのMSDNダウンロードサイトからダウンロードできます。 DirectX SDKの中にはサンプルコードも入っているので、必要に応じて見て下さい。
これ以降の説明は、DirectX SDKを「C:/DXSDK/」という場所にインストールした事を想定して行います。 DirectX SDKのインストール先は環境によって異なるので、必要に応じて置き換えて考えてください。
DirectShowを使ってプログラムを書くには、dshow.hというヘッダファイルをincludeしなくてはなりません。
#include <dshow.h>
次に、リンカの設定を行わなくてはなりません。 DirectShowを使ったプログラムをコンパイルするには、VisualStudioの「構成プロパティ > リンカ > 入力 > 追加する依存関係」に「strmiids.lib」という項目を追加して下さい。
DirectShow基本
GraphEditを使う
エラー値の意味を知る
MPEGファイルを再生する(RenderFile)
映像再生が終るまで待つ
再生ウィンドウのタイトルを変更する(IVideoWindow)
フルスクリーン表示(IVideoWindow)
自前ウィンドウに表示する(IVideoWindow)
IMediaEventEx::SetNotifyWindowを使った再生終了通知
MPEGファイルを再生する(ダウンロード再生)
ビデオの幅と高さを取得する
再生速度を変える
再生時間を取得する
音量とバランスを変える
DVDを再生する
DVDを再生する
DVDを再生する(MFC)
DVDの情報を取得する
DVDタイトルのチャプター数を取得する
フレームキャプチャ
IBasicVideoを使って静止画を取得する
SampleGrabberを使って静止画を取得する
Bitmapfileフォーマット
SampleGrabberを使って複数の静止画を取得する
SampleGrabberを使って動画の最初のフレームを取得する
ビデオキャプチャ
ビデオ入力デバイスからの映像を表示する
ビデオ入力デバイスからの映像をAVIに保存する
ビデオ入力デバイス名を取得する
ビデオ入力デバイス情報を取得する
ビデオ入力デバイスを選択してから再生する
キャプチャデバイス+SampleGrabber
キャプチャデバイス+SampleGrabber (2)
複数のアナログ入力があるデバイスを扱う
複数のアナログ入力があるデバイスを扱う(2)
複数のアナログ入力があるデバイスを扱う(3)
TVチューナーを制御する
TVチューナーを制御する(2)
VMR9 (Video Mixing Renderer 9)
VMR9を利用する
インターフェース
IMediaControl
IMediaEvent
IMediaEventEx
IBasicAudio
関連情報
参考文献
Visual Studio
- DirectShowプログラミング [VC++]
- VC 配置directshow
- VC++ DirectShow的使用
- directShow vc环境配置说明
- Directshow VC配置和实例
- VC++6.0 下配置 directshow
- [VC/MFC]directX(directshow)的环境配置
- DirectShow入门文章及VC环境配置
- VC++中使用DirectShow环境配置
- 给vc配置DirectShow的开发环境
- 在VC++2005/2008编译Directshow
- VC DirectShow开发环境变量配置及问题
- 用DirectShow时VC的环境配置
- DirectShow在VC++中环境设置
- VC DirectShow开发环境变量配置及问题
- VC+DirectShow对视频进行图片处理
- 15.DirectShow在VC++中环境设置
- VC DirectShow开发环境变量配置及问题
- iPhone开发常用代码集锦
- Linux下使用Mysql数据库
- Tiny6410上安装debian基本系统的过程
- 生活
- Office2007xlsx格式分析
- DirectShowプログラミング [VC++]
- 筛选出DataTable中某些行并存入另一个datatable中
- 关于HaspMap的顺序问题
- 几种地址的理解
- select 中的描述符被外部关闭时的情况
- 创建COM组件的实现(或者叫作注册Com组件)
- perl正则表达式递归
- poj 1042 钓鱼问题 枚举+贪心
- 解决HIbernate3运行出现No CurrentSessionContext configured!错误