江川と申します。
再度その画面に復帰したときにGLSurfaceViewが描画していないということはないでしょうか。
GLThreadがその画面に戻ってきたときにも動いているか(RendererのonDrawFrameが呼ばれているか)確認してみてください。
------------------------------------------
EGAWA Takashi
2011/2/4 山田 <jou...@crest.ocn.ne.jp>:
> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
> このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。
>
>
------------------------------------------
EGAWA Takashi
2011/2/4 山田 <jou...@crest.ocn.ne.jp>:
横からスミマセン。
調査に協力したいのですが情報がちょっと断片的で調査が難しいなと思っています。
そこで、山田さんの問題が再現できる最小構成のテストアプリを作って
ソースを公開することはできませんでしょうか?
全体のソースコードが分かれば、手元の端末で試せるので調査がはかどると思います。
実は別の箇所に問題があったという場合も対応できるかもしれません。
全然アドバイスになってなくて申し訳ありませんが、
ご検討頂けると幸いです。
よろしくお願いします。
2011年2月5日11:30 山田 <jou...@crest.ocn.ne.jp>:
山田さん
adamrockerです。
ソースの公開ありがとうございます。
今は見れる環境に居ないので即答は難しいのですが、後で見てみます。
#その前にどなたか解決されるかもしれませんが…(汗
江川です。ソースありがとうございます。
試して現象を確認しました。確かにできませんね。。。。
ちょっと検索してみたところそもそもSurfaceViewをひとつのWindow内に複数持つことを推奨していないようです。
http://groups.google.com/group/android-developers/browse_thread/thread/4850fe5c314a3dc6
じゃあ何か回避策は無いのかと議論しているページ
http://stackoverflow.com/questions/4598822/alternative-approach-to-opengl-view-on-top-of-camera
カメラの画像をテクスチャとしてOpenGLで描けとか言われているっぽいですが、画像のフォーマットが違うので
なかなか難しそうですね。
Surface, SurfaceFlinger, WindowManagerに詳しい人なら何か回避策を知っているのではないかとも思いますが。。。
------------------------------------------
EGAWA Takashi
2011/2/5 山田 <jou...@crest.ocn.ne.jp>:
石原と申します。
穐本様からご紹介いただきましたが、私も同じ問題で
困っておりました。
実は根本原因はいまだわかっていないのですが…
回避方法としては、
> GLView = new GTSurfaceView(this);
上記で生成したGLSurfaceViewに、
GLView.setZOrderMediaOverlay(true);
のような感じで生成後一回だけ設定をしておいていただ
ければうまくいくのではないかな?と思います。
(ただし上記メソッドはAndroid2.0以降でないと使用で
きません)
あとムリクリやる方法としては…
> GLView = new GTSurfaceView(this);
> camera = new CameraPreview(this);
> frameLayout.addView(cameraPreview, LayoutParam);
> frameLayout.addView(mGLView, 1, LayoutParam);
onResume() で再表示させるときに、
frameLayout.bringChildToFront(camera);
と順番を入れ替えてあげるとうまくいったり。
これは予想なのですが、Androidのバグで順番が入れ替わってし
まうのじゃないかと思っています。なので、その現象に合わせて
順番を入れ替えてあげるとうまくいく…
ですがこの現象はかなり機種依存するので、後者の順番入れ替え
を使う場合は注意してください。
(ターゲットが単一機種のみなら専用の作り込みでもOKかもしれ
ませんね)
あと参考までに、ABC2010 Springの講演資料はつい先日公開
致しましたので、もしお時間あればご覧下さいませ。
http://www.android-group.jp/index.php?plugin=attach&pcmd=open&file=SekaiCamera_for_ABC2010_by_ishihara.pdf&refer=%A5%A4%A5%D9%A5%F3%A5%C8%2FAndroid%20Bazaar%20and%20Conference%202010%20Spring
以上、宜しくお願い致します。
2011年2月8日14:40 yusuke akimoto <steamlo...@gmail.com>:
> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
> このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。
>
>
--
==============
石原 正樹 (Masaki Ishihara)
@ishihara_twit