問題タブ [android-textureview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
766 参照

android-mediaplayer - Vine のように、RecyclerView で TextureViews を使用して動画を再生する

私には がありRecyclerView、それぞれViewHolderにオブジェクトRecyclerViewがありMediaPlayerます。TextureViewオブジェクトを保持するためにを使用していMediaPlayerますが、下にスクロールすると非常にラグが発生するという問題があります。これはなぜですか?MediaPlayerサーフェスが破壊されたときに、オブジェクトの割り当てを適切に解除していると思います。

参考までにTextureView、このリポジトリから取得した次の実装を使用しています: TextureVideoView

TextureVideoView.java

アセットをダウンロードしたら、次のようにアダプター内で提供します。

問題は、スクロールしているときにラグが発生することです。これを修正するにはどうすればよいですか? ビューがほとんど表示されていない限り、一時停止するRecyclerViewVine のようなものを作成するにはどうすればよいですか。TextureView

この質問に対する非常に完全な回答と、最適化された適切な実装を探しています。

0 投票する
0 に答える
520 参照

android - Android KitKat 4.4 で Android TextureView がビュー境界にクリッピングしない

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

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

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

ロリポップの状態

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

キットカットの状態

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

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

0 投票する
0 に答える
195 参照

android - Android でメディア プレーヤーを作成できない

mp4 ビデオが 1 つあり、TextureView でビデオを再生しようとしています。

問題が 1 つあります。NexusまたはHTC oneでは問題ありませんが、一部のHuaweiデバイスではこのメッセージが表示されます

これは私のソースです

Nexus および HTC デバイスでビデオを再生できると言ったように、昨日 Huawei でアプリを実行すると、このエラー メッセージが表示されます。

デバイスがビデオを再生できるかどうかを確認するにはどうすればよいですか?

誰かが解決策を知っているなら、私を助けてください

0 投票する
1 に答える
1064 参照

android - 2 つのビューで同じ SurfaceTexture

2 つのビューに同じ表面テクスチャを使用することは可能ですか? もしそうなら、どのように?mediaplayer を使用して動画を再生していますが、同じ動画を 2 つの異なるビューで同時に再生したいと考えています。

SurfaceTexture を作成してから、この表面テクスチャを両方のビューに設定しようとしましたが、うまくいきません。

いずれかのビューでランダムに機能しますが、同時に両方では機能しません。

0 投票する
0 に答える
1153 参照

android - Camera2 カメラ変換

Camera2 API に問題があります。基本的には Google のサンプル コード (Camera2Basic) を使用していますが、TextureView のサイズを変更して、画面全体に広がらないようにしています。画面にはToolBar.

私が得ているプレビュー表示は非常に歪んでいます。

configureTransform のコードは次のとおりです。

0 投票する
0 に答える
299 参照

java - 古い Camera API で ImageReader を使用する (API <20 でサポートされる予定)

hereImageReaderから使用するための Google の例を取り上げました。

コードはCamera2API を使用ImageReaderし、画像のクエリがプレビューとは異なるスレッドで実行されるようにします。

Android KitKat (API 20) をターゲットにしたいので、そのImageReader部分はそのままで古い Camera API を使用するようにコードを変更する必要があります。

を設定する元のコードの一部を次に示しますonImageAvailableListener

これで、古い Camera API を使用できるようになりました。しかし、私はそれを と接続することに迷っていImageReaderます。onImageListenerそのため、画像が配信されたらアクセスできるようにするには、どのように設定すればよいかわかりません。

これが私の修正です:

ImageReader私の質問は、上記のコードを正しく機能させるためにどのように追加すればよいですか?

前もって感謝します。

0 投票する
1 に答える
1881 参照

android - アクティビティが破棄されても onSurfaceTextureDestroyed は呼び出されません

私は設定したテクスチャビューを持っていますsetSurfaceTextureListener。このテクスチャ ビューを使用して、アプリでライブ カメラ フィードを表示します。app で明示的にBACK KEYを処理しています。BACK KEYを押すと、「finish()」メソッドを呼び出してアクティビティを破棄します。アクティビティのonDestroyメソッドが呼び出されます。

しかし、onSurfaceTextureDestroyedテクスチャ ビューに設定した " " メソッドが呼び出されません。この問題を android 版に関連付けてよいかどうかはわかりませんが、興味深いことに、自分のアプリをKITKATonSurfaceTextureDestroyedで使用すると "" が呼び出されます。ジェリービーンズに問題を与えます。

また、私がチェックするように、HOMEキーを押すと: -ジェリービーンonPauseonStop呼び出されます。しかし、KITKAT ではonPause とonStop3onDestroyつすべてが呼び出されます。

onSurfaceTextureDestroyedアクティビティの " " が呼び出されても " " が呼び出されない理由を知りたいですonDestroy