問題タブ [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 に答える
76 参照

android - Android 9 で ReleaseTexImage がクラッシュする

を拡張するカスタム クラスがありますTextureView。これTextureViewにはsurfaceTexturemSurfaceTexture. これはシングル バッファ サーフェスです。

Androidのドキュメントに従って、ここに

シングル バッファ モードでは、アプリケーションはイメージ コンテンツ バッファへのアクセスをシリアル化する必要があります。画像コンテンツが更新されるたびに、画像コンテンツ プロデューサーがバッファの所有権を取得する前に releaseTexImage() メソッドを呼び出す必要があります。

そのため、画像プロデューサーが所有権を取得するたびにこれを呼び出しています。Android 10 では正常に動作しますが、Android 9 では次のエラーが発生します。

私は電話してANativeWindow_fromSurfaceいます。これを使用した後、nativewindow をリリースするなど、何か他のことを行う必要がありますか?

なぜこれが起こっているのか、他の誰かが同様の問題を抱えているのかについての考えはありますか?

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

java - Android Studio の TextureView で低解像度を設定する方法

カメラのプレビュー中に、各フレームの関心領域 (ROI) 内のピクセルの一部を取得したいと考えています。TextureViewからビットマップを取得し、「for」サイクルを使用してその領域の平均値を計算しています。TextureView のデフォルト解像度 (約 2200x1080) を保持する大きな ROI で実行するとプロセスが遅くなるため、この解像度を低く設定して for サイクルで速度を下げる方法があるかどうかを知りたいピクセルですが、より多くの領域があります

また、このプロセスを行う別の方法があるかどうかを知りたいです。私が望むのは、その領域の平均ピクセル値を取得するときに、適切なフレーム レート (おそらく 20 ~ 25 fps) を維持しながら、画面内のより多くの領域に到達することだけです。

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

android - SurfaceTexture + 変換マトリックスを使用した MediaCodec - VIDEO_SCALING_MODE_SCALE_TO_FIT(_WITH_CROPPING) のカスタム出力サイズを渡しますか?

Android MediaCodec は、デコードされたビデオを出力面の寸法に自動的にスケーリング (およびトリミング) します。SurfaceTexture が変換行列を介して回転/スケーリング/クロッピングを行う場合、ビデオ ストリームの計算は 2 回実行されます。出力テクスチャの MediaCodec の「カスタム」寸法を指定して、変換マトリックスが回転のみ (MediaCodec IIUC で適切に機能しない) を行い、スケーリングを行わないようにする方法はありますか? また、操作を正しく理解していれば、一連のダウンスケーリング/アップスケーリング/クロップ変換中に、出力ビデオの解像度が損なわれます。

たとえば、私の場合、ビデオは 16:9 の横向きモードですが、出力 TextureView は 90 度回転した 3:4 の縦向きモードです。つまり、MediaCodec は出力 TextureView (縦向きのアスペクトを持つ) の小さな幅にダウンスケール (解像度を下げる) し、続いて (回転後に) ビデオを回転後に完全な高さにアップスケールします。どうもありがとう。