掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
オーバーレイされない? (ID:38593)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>使ってみようなどという物好きな方がいらっしゃるかどうか判りませんが 試してみました。 あれこれとやってみた結果「レンダラ追加」だけでいけるようでした。 無圧縮のAVIも壁紙ビデオにできました。 結構CPUパワー(というかグラフィックパワーなのかな)が必要で、ATOMなネットブックだと動画のフレームレートが15fps程度でないとタイリングや全画面は厳しい感じでした。 procedure TForm1.Button1Click(Sender: TObject); var gb: IGraphBuilder; mc: IMediaControl; wall: IBaseFilter; wc: IWallpaperConfig; begin if (OpenDialog1.Execute) then begin CoInitialize(nil); {グラフ作成} CoCreateInstance( CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, gb ); {レンダラ追加} CoCreateInstance( CLSID_Wallpaper, nil, CLSCTX_INPROC_SERVER, IID_IBaseFilter, wall ); gb.AddFilter(wall, 'Video Renderer'); {設定} wall.QueryInterface(IID_IWallpaperConfig, wc); if (RadioButton2.Checked) then begin //タイル wc.SetStyle(WallpaperStyle_Tile); end else if (RadioButton3.Checked) then begin //全画面 wc.SetStyle(WallpaperStyle_Stretch); end else {if RadioButton1.Checked) then} begin //中央 wc.SetStyle(WallpaperStyle_Center); end; {実行} gb.QueryInterface(IID_IMediaControl, mc); mc.RenderFile(POLESTR(WideString(OpenDialog1.FileName))); mc.Run(); //すぐに停止してしまわないように ShowMessage('待機'); {停止} mc.Stop(); wall := nil; wc := nil; gb := nil; mc := nil; CoUninitialize(); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.