問題タブ [surfaceview]
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 - タイプPUSH_BUFFERSのSurfaceView
の経験がありSurfaceView
ます。不必要な再描画を防ぐために、私は常にカウントダウン変数を使用して、ビューを描画する頻度をスレッドに指示します。
しかし、それを「プッシュ面」に変更することを考えていました。したがって、バッファを表面にプッシュして、プロジェクトのどこにでもカウントダウン変数を設定する代わりに、それを示してください。
私の問題は、使用法が説明されている適切なチュートリアル/リソースが見つからないことです。現在、私はこのようなものを持っています:
ドキュメントに記載されているように、使用できないときにキャンバスを描画する方法がわかりませんlockCanvas()
。
android - XML/Javaを使用したオーバーレイ付きのAndroidglSurfaceView
Android OpenGLアプリケーションを起動し、次のクラスがあります。
クラスAのonCreateが呼び出されると、クラスBタイプのオブジェクトが作成され、次のように呼び出されます。
これまでのところそれは機能し、私はそれに数日を費やしました。
ここで、アプリケーションにボタンを追加したいと思い、SurfaceViewOverlayの例を見つけました。これは、いくつかのXMLを使用してビュー階層を作成します。XMLコードを切り取って貼り付けるのと非常によく似たものを作成したかったのです。
元のクラス階層を念頭に置いて、ビューを初期化するにはどうすればよいですか?クラスAのonCreate()に何を書くべきですか?
私は使ってみました:
また、ボタンとGLビューを画面に描画しますが、GLビューはタップ/クリックからの入力を取り込むことができません。
これは、BobjectのonTouchEvent()が次のようにのみ使用されているため、呼び出されていないことが原因である可能性があります。
ではなく:
物体。
上記のコードの代わりに、私が本当に望んでいるのは、BobjectでglSurfaceViewを置き換えることです。しかし、私はそれを行う方法がわかりません。findViewById()を実行すると、glSurfaceViewは今のところすでに作成されているようです。GLビューにタイプBのオブジェクトを使用するように依頼するにはどうすればよいですか?
初心者のミスについては申し訳ありません。Androidはまったく新しい。
編集:私もこれを試しました:
また、次のことも試しました。XMLファイルで、GLSurfaceViewを次のように変更しました。
そして、私のAクラスコンストラクターでは、次のように呼び出しています。
XMLファイル/アクティビティでglSurfaceViewを拡張するカスタムクラスをどのように使用する必要がありますか?
android - AndroidのGLSurfaceViewでビデオを再生するにはどうすればよいですか?
ApiDeomsからCubeデモにSurfaceViewを追加しました。そして、MediaPlayerを使って遊んでみました。しかし、デバイスごとに異なる低レベルのプレーヤーエラーで失敗しました。GLSurfaceViewでビデオを再生することは可能ですか、それともハードウェアサポートがすべてです。
android - Android::ビデオのフレームを取得しますか?
ビデオがあり、そのフレームの一部を取得する必要があります。
問題のビデオのサイズで標準ビットマップを作成し、キャンバスを作成して、ビットマップ上に描画するように設定します。
SurfaceView と surfaceHolder を使用します。mediaPlayer は surfaceView で描画されており、キャンバスに描画する surfaceView.draw(canvas) を呼び出すメソッドがあり、ビットマップに描画され、最終的にはそれを使用して使用します...
私の問題は、60% の確率で黒いフレームが表示されることです。メディアプレーヤーはそのコンテンツを別のスレッドで再生します。ビデオがいつ開始されたのか、いつ開始されたのかわからないので、これが黒い画面になっていると思います。
ビデオ フレームを取得するための回避策、修正、または別の方法が必要です。
前もって感謝します。
android - surfaceview の再作成中にメディアプレーヤーを再起動できますか? (アンドロイド)
サーフェスビューでレンダリングされたメディアプレーヤーを使用してビデオを表示するアクティビティ (アクティビティ A など) があります。
ユース ケースは、ビデオを一時停止し、別のアクティビティ (アクティビティ B など) を開始してから、アクティビティ A に戻ることです。
アクティビティ A は停止されますが、B に移動しても破棄されません。これは良いことです。
サーフェス ビュー (表示されないため) は破棄されます (通知コールバックから観察されるように)。
アクティビティ A に戻り、start() を使用してメディア プレーヤーを再起動すると、メディア プレーヤーはオーディオを再生しますが、ビデオは表示されません。次のようなエラーが Logcat に出力されます。
SurfaceHolder
残念ながら、 as provided byの新しいインスタンスを使用しsurfaceCreated()
ても役に立ちません (つまり、同じエラーが発生します)。
さまざまな投稿を読んだことがありますが、解決策は をリセットして完全に再起動することですが、エンド ユーザーはストリーム内でmediaplayer
プレーヤーの準備が完了するまで待たなければならないため、効率的ではありません。cycle + seekTo last positio
オーディオが再生されるという事実で示されているように、ビデオ デコーダーと新しいsurfaceholder/view
.
アクティビティを再開するときにビデオの再生を再開するための最善の解決策 (最善 = 最速) は何ですか?
android - surfaceflingerのインターフェースはどのように機能しますか?
sp<>はAndroidのソースコードでどこで定義されますか。表面フリンガーの観点から答えてください。
android - タブアクティビティの2つのタブで単一のレイアウトxmlファイルからSurfaceViewsを再利用するAndroid
surfaceview とさまざまなボタンを含む layout.xml ファイルがあります。
これは、クラスの 2 つのインスタンス化にロードされます (setContentView)。各インスタンスは、別のタブ (タブ アクティビティである別のクラス内) のアクティビティです。
問題: tab1 (setCurrentTab) を開始タブとしてアプリを起動すると、(tab1) は表面に描画できます。tab2 を開始タブとして設定すると、表面に描画できます。ただし、実行時にタブを切り替えると、最初のタブのみが表面に描画できます。まるで最初のタブが表面にロックを持っているかのようです。
一時停止と再開中に非アクティブなタブでサーフェスビューを非表示(setvisibility)にしようとしましたが、これは他のタブのサーフェスビューのコピーをカバーするだけです(と思います)。
質問: 2 つのタブが 1 つのレイアウトのサーフェスビューを共有できますか? 「再開」タブは「一時停止」タブからどのように制御できますか?
PS私は書き直して、バラバラにして、リロードを試みました(このアプリケーションを3週間かけていくつかの方法で再構築しましたが、共有レイアウトについて何か欠けているような気がします.
java - アプリにアドモブ広告を追加する方法は?
いくつかのスケッチを描くSurfaceViewがあります。しかし、私は xml レイアウトを使用しません... AdView を Java Android の SurfaceView に追加することはできますか? 出来ますか?
たとえば、ActionScript では次のようになります。
Javaに似たようなものはありますか?
助けてくれてありがとう!
android - SurfaceView: ClassCastException、アクティビティを開始できません
Android 2.2 アプリケーションを SurfaceView をベース ビューとして起動し、その上にボタンを画面の下部近くに配置しようとしています。これまでのところ、運がありません。起動しようとするたびにクラッシュします。アクティビティがマニフェストに登録されていることを確認しました。
ここに私のJavaコードがあります:
そしてここに私のmain.xml
:
そして私のマニフェスト:
ここに私のエラーがあります:
11-29 11:58:52.620: ERROR/AndroidRuntime(512): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.Dragable}: java.lang.ClassCastException: android.view.SurfaceView
SOで検索を行うことに関連するものを見つけることができないようです。これが以前に尋ねられた場合、私の謝罪。
android - surfaceviewクラスにスコア/ハイスコア(int)を保存するには?
ゲームでハイスコアを保存しようとしています。私のクラスは SurfaceView を拡張し、SurfaceHolder.Callback を実装しています。スコアリングシステムは完璧に機能しますが、私は本当にハイスコアシステムを作りたいと思っています (ハイスコアとして設定されている場合は、スコアが最高かどうかを最初に確認してください)。