1

私は TextureView を使用して、このチュートリアルsetTransform(matrix)のようにスケールマトリックスを設定して、トリミングされたビデオを表示しています。したがって、ビデオはビュー自体よりも大きくなります。これは、KitKat (4.4) を除くすべての Android バージョンで正常に機能します。

ここで私が抱えている問題は、TextureView のコンテンツがビュー境界でトリミングされていないことです。ビデオのトリミングされた部分も描画されます。ただし、外側の部分は、レイアウトが更新 (スクロール) されたときにのみ更新されます。

トリミングされたビデオ (nature.mp4) は次のようになります。

ロリポップの状態

KitKat では次のようになります (このスクリーンショットではレイアウトの境界を示しています)。

キットカットの状態

クリップ境界をビュー境界に設定しようとしましたが、うまくいきsetClipBounds(..)ません。また、Canvas.clipRect(..)TextureViewの描画方法がfinalなので使えません。

これは明らかに KitKat のバグですが、回避策を考えている人はいますか?

4

0 に答える 0