質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.00%

マルチモニター2面で動画をフルスクリーン表示したい

受付中

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 6,722

前提・実現したいこと

マルチモニター2面を利用しています。
2面全部にフォームをフルスクリーン表示することは可能でしょうか?

・モニター2面はそれぞれ1920*1080 です。
・横に2面並べて使っていますので全体のスクリーン幅としては3840*1080となります。
・コード上で、それぞれのモニターでフルスクリーン表示することはできています。
・動画ファイルのサイズは1920*1080 (HD)相当です。⇒ 拡大表示されることを期待。
・プログラムとしては動画再生プログラムで、
FormにWindowsMediaPlayerを貼り付けているだけの単純なサンプルを作成しています。

発生している問題・エラーメッセージ

・Formサイズを3840,2160としてもフルスクリーンとならない。
プライマリモニタから半分切れたような表示となります。
・WindowsMediaPlayerを3846,2160としてもフルスクリーンとならない。
プライマリモニタから半分切れたような表示となります。

該当のソースコード

            Rectangle screenRectangle = new Rectangle(0, 0, 0, 0);
            foreach (Screen s2 in Screen.AllScreens)
            {
                //Console.WriteLine(s.Bounds);
                screenRectangle.X = Math.Min(screenRectangle.X, s2.Bounds.X);
                screenRectangle.Y = Math.Min(screenRectangle.Y, s2.Bounds.Y);

                screenRectangle.Width = Math.Max(screenRectangle.Width, s2.Bounds.Right);
                screenRectangle.Height = Math.Max(screenRectangle.Height, s2.Bounds.Bottom);
            }
            this.Width = screenRectangle.Width; //3840
            this.Height = screenRectangle.Height; //2160

            this.StartPosition = FormStartPosition.CenterScreen; 

試したこと

・Form、MediaPlayerそれぞれ3840にしてもNG(フルスクリーンとなりません)。
・Form、MediaPlayerともにサイズを3840にしてもNGでした。

補足情報(言語/FW/ツール等のバージョンなど)

・モニターはUSBで接続しています。
利用しているハードはhttp://www.iodata.jp/product/lcd/info/multidisplay/usb.htm です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

0

ふつうの動画プレイヤーでも、ウィンドウの縦横比をどれだけ変化させたところで、動画がぴったり追随することはなくて、「縦横比は動画そのままでウィンドウに収まる」サイズで再生されますので、そういうことだと思います。

…というより、横に繋いだモニターで無理やりぴったりサイズで再生させようとすると、横2倍に引き伸ばした動画となりますが、そんな状態で再生したいのでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/17 07:04

    ご回答いただきありがとうございます。

    質問の意図が伝わっていないようで申し訳ありません。
    縦横比はそのままなので横2面に表示すると、動画の下半分は表示されないことになります。

    もし仮に4面を接続して、
    A・B
    C・D
    というようにモニタを設定すれば、全べて表示されることを想定しています。

    ただ現在は
    A・B
    しかモニタ接続してませんので、仮に制御がうまくいけば上半分だけ映ることを想定してます。

    引き続きお願いできれば幸いです。

    キャンセル

0

ハードウェアアクセラレータが有効な為、セカンダリモニタに表示されないという現象になっているのだと思います。
プログラムではなく、他の動画プレーヤーでも同様なのでしょうか?
もし、他の動画プレーヤーの機能でハードウェアアクセラレータ等を無効に出来るような設定があれば、そのあたりも試してみて切り分け出来るのではないかと思います。

ただ、申し訳ありませんが、プログラムからWMPの設定を変更できるのか等に関しては分かりません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/17 07:04

    ご回答いただきありがとうございます。

    ほかのプレーヤーでいうと、
    動画素材をダブルクリック>Windows Media Player(アプリ)が起動>ウィンドウ自体を2画面分まで拡大>画面「右下」の「…」から「拡大」を選ぶと、それらしき状況になります。

    ・ディスプレイ設定でうまくいかないかと試してみましたが状況に変化ありません。


    引き続きお願いできれば幸いです。

    キャンセル

  • 2017/02/17 07:20

    マルチモニタ環境がないため実験できませんが、DirectShowを使って、動画のbitmapを取得し自分で描画すればどうでしょう?
    こちら(http://tu3.jp/0990)とか参考になるのではないかと思います。

    キャンセル

0

うーん。グラフィックボードに依存することがらなのかもしれません。
解決はしていませんが、継続調査してみます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

少し古い記事なのですが、関連しそうなものを発見しました。
6画面"5760×2160"ディスプレイで圧倒的戦力を手に入れる(5/5)

(2)6画面を1つの大きなデスクトップとして管理する

「ディスプレイ表示の変更」メニューを使って、実物とWindows上で画面の位置関係をそろえたが、このままでは少々困る用途がある。それが大画面でのゲーム用途だ。3Dゲームなどを6画面全体に表示するには、6台のディスプレイを内部的に1台のディスプレイとして管理したうえで、GPUから全画面表示を行わなければならない。

と記述の上で

一方、GPUにAMD Radeon HD 7870 GHz Editionを採用したグラフィックスカードのVTX3D VX7870 2GBD5-6Dであれば、これ1枚でAMD Eyefinityテクノロジーによる6画面表示が可能なので、6台のディスプレイを1台のディスプレイとして一元管理できる。

と記載があります。

多分ですが、記事の当時のOSでは、マルチ画面を1画面としては制御できず、デバイスドライバ側で制御する必要があったのだと思います。

現在のOSでどこまで対応可能か分かりませんが、この辺はあまり変わっていないのでは無いかと推測されます。

記事では GPU に依存して実現の可否が決まっていたようなので、GPU メーカへ問い合わせることで、機能制御の成否が確認できると思います。

多分このあたりの情報は、ゲーム関連と医療情報系が進んでいるので、そのあたりに強いデバイス屋さんで情報を確認しても良いかもしれないですね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる