私のアプリはHLSを使用してサーバーからビデオをストリーミングしますが、サーバーからHLSストリームを要求するときは、デバイスが処理できる最大ビデオビットレートを渡す必要があります。Android APIガイドには、「デバイスで利用可能なビデオ録画プロファイルをメディア再生機能のプロキシとして使用できる」と記載されていますが、デバイスの背面カメラのvideoBitRateを取得しようとすると、常に12Mb/sとして返されます。デバイス(Galaxy Nexus、Galaxy Tab Plus 7 "、Galaxy Tab 8.9)に関係なく、3つの異なるGPU(PowerVR SGX540、Mali-400 MP、Tegra 250 T20)があるにもかかわらず、これが私のコードです。間違い?
CamcorderProfile camcorderProfile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
targetVideoBitRate = camcorderProfile.videoBitRate;
Galaxy Tab Plusでこれを試してみると:
boolean hasProfile = CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_HIGH);
QUALITY_HIGHは1080p録画用であり、仕様では720pでしか録画できないとされているにもかかわらず、Trueを返します。