問題タブ [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.
java - フロントカメラから取得した TextureView でのビデオの再生
FRONT CAMERA から Samsung Galaxy S4 (1080wx1920h) のビデオを録画します。結果のビデオは 90° 回転し、上下が逆になります。(写真参照)
次に、ビデオ (最終解像度 320wx240h) を取得し、次のように TextureView に表示します。
textureView のレイアウト パラメータを次のように設定します。
結果は次のようになります。
何度か再試行した後、レイアウトを次のように設定すると、次のことがわかりました。
寸法比率は正しいままです。
最後に、RecordingActivity (1080wx1440h) に記録されたとおりにビデオを表示したいと思います。
これを達成する方法について何か考えはありますか?
または、フロントカメラからのビデオを正しい回転で記録する方法はありますか?
完全なアクティビティ コード:
XML:
android - TextureView からの openGL を使用して、カメラ プレビュー データを SurfaceTexture として処理する方法について支援が必要です
丸 3 日間検索し、多くの関連情報が見つかりましたが、コンピュータ グラフィックスの知識が不足しているため、十分に正確なものはありませんでした。ここで質問することに決めました。
明確にするために、
1)私はFrameLayoutを持っています
2) TextureView を追加しました
3) LayoutParams を FrameLayout に一種の正方形の形状に設定したため、どういうわけか TextureView もそれに応じてサイズ変更され、正方形になり、あまり混乱しません。
4) カメラ プレビュー作業と TextureView 表示作業の間のすべてが正常に動作しますが、
4!) SurfaceView の時代と同じように。カメラ プレビュー データを、カメラ プレビュー サイズに合わないビューに強制的に描画すると、最終結果が引き伸ばされてしまいます。
4.) FrameLayout/TextureView のサイズをプログラムで 4:3/~16:9 (Landscap または Portrait) にする方法を知っているということですが、実際には正方形にする必要があり、もちろん引き伸ばされないようにする必要があります。
5?) openGL Thin を介して SurfaceTexture データを前処理する必要があると思います。(これは非常に明白だと思いますが、よくわかりません。結果を達成するためのまったく異なる方法があれば、それも高く評価されます。
5) 事前質問の仕事について。これを行うサンプルはたくさんありますが、プレーンな SurfaceView または GLSurfaceView でのみです。私は元のopenGLプログラミングにあまり慣れていないので。コードを自分のプロジェクトにモーフィングしようとすると苦労しました
5+) いいえ、TextureView を使用する必要があります。Google が Camera サンプルを TextureView を使用するように転送したため、その理由が疑わしい場合は、TextureView + openGL コンボの扱いを学ぶ必要があると思います。とにかく、TextureView がステージに登場するのは、単純に View のように動作し、View のみを使用し、軽量な openGL 処理と連携してスクラッチを発生させないようにするためです。
6) 私は本当にそれらのオンライン サンプルを私のものに移植することができません。SurfaceTexture (omg) で openGL コンテキストをアタッチするのにも問題があります
7) はい、スケルトンのようなコード構造があり、drawFrame impl 以外はすべて機能します。一体何を入れたらいいんだ
アクティビティ
}
テクスチャビュー
openGL スレッド
gl インスタンスを取得するにはどうすればよいですか? 一部のサンプルが gl を使用している場合 (どこからともなく... または引数)、他のサンプルが EGL14.blahblah のものを使用している場合、混乱していることがわかります。つまり...ああ、私はopenGLを本当に知らないし、Android.comのkhronosパッケージリファレンスは無効です...)
正確な問題を段階的に解決するチュートリアルが本当に必要ですが、それをテキスト形式で明確に説明すれば、それも素晴らしいでしょう. 正方形が必要な場合は、カメラ プレビュー データの左上の正方形をトリミングするだけで簡単に作成できると思います。それはとても役に立ちます。はい、ある種のフィルター関数を追加する必要があるかもしれないので、二乗問題をハックしないでください。私はこれをopenGL経由で行うと主張しています。
ところで、私の国のネットワーク状況により、Google のサンプルにアクセスできません。私は満足のいく事前質問検索の仕事をすることはできませんが、そのことをお詫びします。
android - MediaPlayer を使用して、動画を TextureView に収まるようにします (一部は外側にあります (表示されません))。
MediaPlayer を使用して、TextureView で動画を再生しています。TextureView のサイズは固定で、動画のサイズは異なります。ビデオを再生しますが、問題はビデオの一部が外側にあり、ビデオが TextureView に合わせて縮小されていないことです。
黒い長方形 + 写真 (ビデオ) が TextureView です。赤い長方形は実際のビデオです。もちろん、問題を示すために描きました。
そのため、ビデオの一部のみが表示され、残りは表示されません。
すべてのビデオを表示し、元のスケール比を維持したい。
ありがとう。
android - MediaPlayer で使用した後に SurfaceTexture をクリアする方法は?
TextureView の子を持つ ListView を使用しています。TextureView は MediaPlayer を使用して動画を再生します。TextureView がリサイクルされると、最後のフレームは、次の MediaPlayer が使用するまで表面に残ります。
古いフレームが表示されないように、TextureView の表面 (黒など) を「クリア」する最も簡単な方法は何ですか?
android-viewpager - viewPager 内の TextureView でビデオなし (音声のみ)
リストビューのアイテムであるビューページャー内にビデオまたは画像を表示しようとしています。画像が正しく表示されている間、ビデオはサウンドのみを再生し、ビデオは再生しません。VideoView と SurfaceView を使ってみましたが、うまくいきませんでした。これにはフラグメントを使用したくありません。
リストビューでは、テストの理由から、一連の画像と 1 つのビデオを読み込んでいます。画像は正常に読み込まれますが、ビデオは音声のみを再生します。
surfaceTexture を正しく設定していないことに関係があると思いますが、わかりません。
どんな助けでも大歓迎です!
これが私のコードです:
また、xml:
android - Androidの他のレイアウトの間にTextureViewを正しく配置するには?
結局のところ、GLSurfaceView を他のレイアウトの間に配置する際に問題が発生しました。GLSurfaceView では不可能です。そこで、GLSurfaceView を TextureView に置き換えましたが、問題は解決しませんでした。
メインレイアウトにそのような構造があります:
そして最後に、次のような結果を得たい:
問題は、一部のデバイスで TextureView がまったく表示されないという問題が発生したため、左右のレイアウトの間に黒いフィールドがあることです。
たとえば、Samsung S3 とエミュレーターでは動作しますが、Xperia では正しく動作しません。理由はさまざまなテーマにあると思いましたが、マニフェスト ファイルで次のようにテーマを設定しました。
どこ"CustomHoloThemeNoActionBar" parent="@android:style/Theme.Holo.Light"
このような問題を引き起こす原因を教えてください。
android - TextureView Android で動画を再生できない
一部のデバイスでビデオの再生に問題があります。私は mediaplayer で textureview を使用しています。SurfaceTextureView のすべてのメソッドが呼び出されますが、mediaPlayer.start() を呼び出すだけで、すぐに再生が完了したリスナーが呼び出されます。ログには次のエラーがあります。
すべてのアプリケーションのログを一覧表示すると、いくつかのエラーが表示され、何らかの関連があるかどうかわかりませんhttp://pastebin.com/rRxxQgdJ
このログは Android 4.3.1 の CyanogenMod からのものですが、Samsung Galaxy S3 mini などの他のデバイスではこのエラーが発生しています。
私の Nexus 4 では、すべて正常に動作します。Android H.264のmp4コーデックでそのビデオを変換しようとしましたが、ffmpegでも結果は同じです。ここから TextureVideoView 実装を使用しています: https://github.com/dmytrodanylyk/video-crop/blob/master/library/src/com/dd/crop/TextureVideoView.java
アドバイスをありがとう
android - AndroidのTextureViewにビデオエフェクト(セピア、ヴィンテージなどのフィルタ)を適用する方法は?
セピア、ヴィンテージなどのフィルターを動画に適用し、サーバーに投稿するにはどうすればよいでしょうか?
同様に、TextureView にフィルター レイヤーを作成し、対応するフィルターをサーバーに適用することで、ユーザーをブラフすることができます。
コード :
android - Android の TextureView でビデオの後にビデオを再生すると問題が発生する
TextureView 内で MediaPlayer を使用してビデオを再生すると、機能します。
ビデオが終了し、別のビデオを再生する必要がある場合は、次のビデオのアスペクト比に合わせて TextureView のサイズを変更します (例 - 3:4 から 9:16 など)。
問題は、最初のビデオが終了した後、最後のフレームが表示されたままです。TextureView のサイズが変更されるよりも、最初のビデオの最後のフレームが一瞬残りますが、現在はアスペクト比が悪く、2 番目のビデオがうまく再生されています。
(サイズ X サイズ) の長方形を示すビデオの画像:
画像 1: ビデオ 1、(3:4):
画像 2: ビデオ 1、ここでは 2 つのビデオの間にあります。ビデオ 1 の最後のフレームで、サイズ変更後 (9:16) になりましたが、四角形の見栄えが悪いです。下の画像は一瞬だけ表示されます:
画像 3: ビデオ 2、(9:16)、正常に再生されますが、画像 2 を一瞬表示した後:
使用されているコードについて特別なことは何もありません。ここにその一部を示します。
android - Android リストビューで動画を再生
Vine や Instgram と同じように、リストビューで動画を再生しようとしています。メディア プレーヤーで TextureView を使用しようとしましたが、TextureView をメディア プレーヤーに接続するときに、GetView メソッドによってテクスチャ ビューが適切に再利用されないという問題が発生しました。リストを下にスクロールすると、textureview が古い不適切なビデオをレンダリングします。
ListViewsでビデオを再生する方法を知っている人はいますか(VideoViewを使用していません!!!)??