ビデオを画面上で回転できるようにする必要があるため、VideoViewの現在の実装と同様に、MediaPlayer上に便利なレイヤーを提供するカスタムTextureViewを作成しました。 This Android blog postはTextureViewについては、次の言葉:Android TextureViewとVideoViewのパフォーマンス
SurfaceViewのコンテンツは、アプリケーションのウィンドウ内に住んでいないので、それを変換することができません効率的に(拡大縮小、移動、回転させます)。これにより、ListViewまたはScrollView内でSurfaceViewを使用することが困難になります。 SurfaceViewは、フェーディングエッジやView.setAlpha()などのUIツールキットの一部の機能とも適切に対話できません。
これらの問題を解決するために、Android 4.0では、ハードウェアアクセラレーションされた2DレンダリングパイプラインとSurfaceTextureに依存するTextureViewという新しいウィジェットが導入されています。 TextureViewはSurfaceViewと同じ機能を提供しますが、SurfaceViewとは異なり、通常のビューとして動作します。たとえば、TextureViewを使用してOpenGLシーンまたはビデオストリームを表示することができます。 TextureView自体は、アニメーションやスクロールなどが可能です。
しかし、TextureViewがビデオを再生するのに苦労しているようです。テスト対象のデバイスには、1.2GhzのRockchip RK3066デュアルコアCPU、QuadコアMali-400 GPU(ARM)、および1GB RAMが搭載されています。このデバイスでVideoViewsを使用している同じコードは正常に動作しますが、TextureViewは再生中に「吃音」または特定のデバイスに応じてまったく表示されません(左上の白い四角の黒いボックス)。 TextureViewsは、Intel提供のx86「デバイス」を使用して、エミュレータで正常に動作します。
このパフォーマンスが予想されていますか、問題を見つけるために他の場所を調べる必要がありますか?ありがとう
私はあなたの特定の設定についてよく分かりません。あなたのsmlといくつかの関連するJavaを見て参考になる可能性があります。テクスチャビューにウェイトが適用されていますか?どの警告がUIエディタでスローされていますか?彼らはあなたを助けるかもしれません。 –
あなたは問題を解決することができましたか、またはmediaplayerでのtextureviewの使用を避ける方が良いでしょうか? –
私たちは 'TextureView'を使用しなくなりました –