4

真夜中のストリーミング ボックス (Android 4.0.4) と解像度 1080p の外部モニターを使用して、Android アプリケーションをテストしています。ビデオをレンダリングするために画面の幅と高さを要求すると、1920x1080 ではなく 1280x720 しか得られませんでした。これが私が使用したコードです。

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;

ちなみに、タイトルバーのないフルスクリーンを取得するために、対応するアクティビティに次のコードが追加されていました。

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                     WindowManager.LayoutParams.FLAG_FULLSCREEN);

モニターの解像度が 1080p に設定されていることは確かです。Android が 720p のみを使用している理由は何ですか?

4

2 に答える 2

2

ビデオをレンダリングするために画面の幅と高さを要求すると、1920x1080 ではなく 1280x720 しか得られませんでした。

これは、携帯電話 (または「真夜中のストリーミング ボックス」と呼ばれるもの) が外部ディスプレイに 1280x720 を表示するためです。

Android が 720p のみを使用している理由は何ですか?

Android 3.0 と Android 4.2 の間で HDMI を介して外部ディスプレイをサポートするデバイスは、次の 2 つのいずれかを行います。

  1. サードパーティのアプリがディスプレイに投影する手段を一切提供しない、または

  2. デバイスのネイティブ解像度、またはそれに近い解像度を使用してください

たとえば、WXGA800 タブレットを 1080p 対応のディスプレイに接続すると、Android がシステム バーのサイズを 80px に拡張し、それより上のすべてをモニターにミラーリングするため、720p の画像になります。ディスプレイの解像度は制約ではなく、デバイスの解像度が制約でした。

したがって、720p は完全に合理的です。

于 2012-12-27T23:35:44.150 に答える
2

/system/build.props ファイルを編集した後、深夜の Android ストリーミング ボックスから 1080p の解像度が得られます。もちろん、編集するにはファイル システムへのルート アクセスが必要です。

次のように、幅と高さを 1920 と 1080 に設定します。

const.window.w=1920
const.window.h=1080

そして、次の行をコメントアウトします。

#ro.platform.has.1080scale=2

詳細については、次の投稿を参照してください。 http://androidtvbox.us/topic/maximum-resolution-of-hdmi-output/#post-4253

于 2013-01-02T22:24:23.207 に答える