DX8 DirectShowをDualView環境で実行すると上手く動作しない – プログラミング – Home

通知
すべてクリア

DX8 DirectShowをDualView環境で実行すると上手く動作しない


ドルチ
 ドルチ
(@ドルチ)
ゲスト
結合: 20年前
投稿: 6
Topic starter  

はじめまして
現在、DX8のDirectShowを使用してDVDを再生するプログラムを作成しているんですが
どうもグラフィックカードの設定環境によって上手く動作しないようで困っています。

プログラムを実行するPCをグラフィックカードの設定でDualViewに設定しているのですが
Primary画面(1個目のディスプレイ)の方では正しく動作するものの
Secondary画面(2個目にディスプレイ)ではDVDの再生が上手く動作しません。
(症状として画面の描画が行われない)

DirectGraphicsでも同じような症状(2個目のディスプレイで正しく動作しない)は
起きるのですがこちらはディスプレイごとにCreateDeviceする事で問題は解決できました。

DirectShowの場合もSecondary画面で正しく動作させるには
ディスプレイごとに何か設定など必要だったりするのでしょうか?
もし分かる方がいらっしゃればご教授よろしく御願いします。

DVD再生部分のソースはほんとに単純で基本的なものしか組んでいません。

void CAbsxView::ShowDvd() //DVD再生関数
{
IDvdGraphBuilder *pDvdGraphBuilder;
IGraphBuilder *pGraphBuilder;
IMediaControl *pMediaControl;

CoInitialize(NULL);

CoCreateInstance(CLSID_DvdGraphBuilder,
NULL,
CLSCTX_INPROC_SERVER,
IID_IDvdGraphBuilder,
(LPVOID *)&pDvdGraphBuilder);

AM_DVD_RENDERSTATUS stat;
pDvdGraphBuilder->RenderDvdVideoVolume(NULL, AM_DVD_HWDEC_PREFER, &stat);

pDvdGraphBuilder->GetFiltergraph(&pGraphBuilder);

pGraphBuilder->QueryInterface(IID_IMediaControl, (LPVOID *)&pMediaControl);

g_pSeek->GetAvailable(&g_Current,&g_Stop);

pMediaControl->Run();

MessageBox(再生中, dvd test, MB_OK);

pMediaControl->Stop();

pMediaControl->Release();
pGraphBuilder->Release();
pDvdGraphBuilder->Release();

CoUninitialize();

}

開発環境はWin2k VC6.0 DX8
グラフィックカードはnVIDIA GFroceFX5700を使用しています。


引用解決済
トピックタグ
ボコノン教徒
 ボコノン教徒
(@ボコノン教徒)
ゲスト
結合: 22年前
投稿: 90
 

Secondary画面に描画用Windowを作成して、それをIVideoWindow::put_Owner()で
親Windowに指定してみる、とか。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました