問題タブ [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.
android-mediaplayer - Vine のように、RecyclerView で TextureViews を使用して動画を再生する
私には がありRecyclerView
、それぞれViewHolder
にオブジェクトRecyclerView
がありMediaPlayer
ます。TextureView
オブジェクトを保持するためにを使用していMediaPlayer
ますが、下にスクロールすると非常にラグが発生するという問題があります。これはなぜですか?MediaPlayer
サーフェスが破壊されたときに、オブジェクトの割り当てを適切に解除していると思います。
参考までにTextureView
、このリポジトリから取得した次の実装を使用しています: TextureVideoView
TextureVideoView.java
アセットをダウンロードしたら、次のようにアダプター内で提供します。
問題は、スクロールしているときにラグが発生することです。これを修正するにはどうすればよいですか? ビューがほとんど表示されていない限り、一時停止するRecyclerView
Vine のようなものを作成するにはどうすればよいですか。TextureView
この質問に対する非常に完全な回答と、最適化された適切な実装を探しています。
android - Android KitKat 4.4 で Android TextureView がビュー境界にクリッピングしない
私は TextureView を使用して、このチュートリアルsetTransform(matrix)
のようにスケールマトリックスを設定して、トリミングされたビデオを表示しています。したがって、ビデオはビュー自体よりも大きくなります。これは、KitKat (4.4) を除くすべての Android バージョンで正常に機能します。
ここで私が抱えている問題は、TextureView のコンテンツがビュー境界でトリミングされていないことです。ビデオのトリミングされた部分も描画されます。ただし、外側の部分は、レイアウトが更新 (スクロール) されたときにのみ更新されます。
トリミングされたビデオ (nature.mp4) は次のようになります。
KitKat では次のようになります (このスクリーンショットではレイアウトの境界を示しています)。
クリップ境界をビュー境界に設定しようとしましたが、うまくいきsetClipBounds(..)
ません。また、Canvas.clipRect(..)
TextureViewの描画方法がfinalなので使えません。
これは明らかに KitKat のバグですが、回避策を考えている人はいますか?
android - Android でメディア プレーヤーを作成できない
mp4 ビデオが 1 つあり、TextureView でビデオを再生しようとしています。
問題が 1 つあります。NexusまたはHTC oneでは問題ありませんが、一部のHuaweiデバイスではこのメッセージが表示されます
これは私のソースです
Nexus および HTC デバイスでビデオを再生できると言ったように、昨日 Huawei でアプリを実行すると、このエラー メッセージが表示されます。
デバイスがビデオを再生できるかどうかを確認するにはどうすればよいですか?
誰かが解決策を知っているなら、私を助けてください
android - 2 つのビューで同じ SurfaceTexture
2 つのビューに同じ表面テクスチャを使用することは可能ですか? もしそうなら、どのように?mediaplayer を使用して動画を再生していますが、同じ動画を 2 つの異なるビューで同時に再生したいと考えています。
SurfaceTexture を作成してから、この表面テクスチャを両方のビューに設定しようとしましたが、うまくいきません。
いずれかのビューでランダムに機能しますが、同時に両方では機能しません。
android - Camera2 カメラ変換
Camera2 API に問題があります。基本的には Google のサンプル コード (Camera2Basic) を使用していますが、TextureView のサイズを変更して、画面全体に広がらないようにしています。画面にはToolBar
.
私が得ているプレビュー表示は非常に歪んでいます。
configureTransform のコードは次のとおりです。
java - 古い Camera API で ImageReader を使用する (API <20 でサポートされる予定)
hereImageReader
から使用するための Google の例を取り上げました。
コードはCamera2
API を使用ImageReader
し、画像のクエリがプレビューとは異なるスレッドで実行されるようにします。
Android KitKat (API 20) をターゲットにしたいので、そのImageReader
部分はそのままで古い Camera API を使用するようにコードを変更する必要があります。
を設定する元のコードの一部を次に示しますonImageAvailableListener
。
これで、古い Camera API を使用できるようになりました。しかし、私はそれを と接続することに迷っていImageReader
ます。onImageListener
そのため、画像が配信されたらアクセスできるようにするには、どのように設定すればよいかわかりません。
これが私の修正です:
ImageReader
私の質問は、上記のコードを正しく機能させるためにどのように追加すればよいですか?
前もって感謝します。
android - アクティビティが破棄されても onSurfaceTextureDestroyed は呼び出されません
私は設定したテクスチャビューを持っていますsetSurfaceTextureListener
。このテクスチャ ビューを使用して、アプリでライブ カメラ フィードを表示します。app で明示的にBACK KEYを処理しています。BACK KEYを押すと、「finish()
」メソッドを呼び出してアクティビティを破棄します。アクティビティのonDestroy
メソッドが呼び出されます。
しかし、onSurfaceTextureDestroyed
テクスチャ ビューに設定した " " メソッドが呼び出されません。この問題を android 版に関連付けてよいかどうかはわかりませんが、興味深いことに、自分のアプリをKITKATonSurfaceTextureDestroyed
で使用すると "" が呼び出されます。ジェリービーンズに問題を与えます。
また、私がチェックするように、HOMEキーを押すと: -ジェリービーンonPause
でonStop
呼び出されます。しかし、KITKAT ではonPause とonStop
3onDestroy
つすべてが呼び出されます。
onSurfaceTextureDestroyed
アクティビティの " " が呼び出されても " " が呼び出されない理由を知りたいですonDestroy
。