2

Androidゲームを作っています(andengineを使用) ゲームのプレイ画面を録画する必要があります。これはプロモーションビデオを作るためのものではなく、ゲームプレイヤーが自分のゲームプレイをレビューするためのものです。私のアプリはそれ自体でビデオを録画する必要があります。そのため、市場で入手可能な録音アプリを使用してこの問題を解決することはできません。私はすでに以下のコードをチェックしました。

http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/ScreenCaptureExample.java?spec=svn66d3057f672175a8a21f9d06e7a045942331f65c&r=66d3057f672175a8a21f9d06e7a045942331f6

それは非常にうまく機能します..しかし、私は1つのスクリーンショットではなく、ゲームプレイのビデオを記録したい.

スムーズな再生には少なくとも 24 fps が必要ですが、 glreadpixels を使用すると、xoom デバイスで 5 fps を取得できます。この最適化問題を解決するために、さまざまな Web サイトを検索しました。ほとんどの人は glreadplxels はビデオを録画するには遅すぎると言っています。

http://www.gamedev.net/topic/473794-glreadpixel-takes-tooooo-much-time/

glreadpixel の代わりに glcopyteximage2d を推奨しています。glcopyteximage2d は glreadpixels よりもはるかに高速であるためです。しかし、andengineでglcopyteximage2dを使用する方法が見つかりません。Android opengl ESはglcopyteximage2dをサポートしていないと誰かが言っています。

滑らかなビデオを記録する別の方法があるかもしれません。Android端末のフレームバッファを読み込みます。この方法を使用して市場に出回っている録音アプリのほとんど。ただし、これらのアプリには、フレームバッファを取得するためのルート権限が必要です。Android が、ジンジャーブレッドの後に suface_flinger からのキャプチャ画面をサポートするというニュースを読みました。

しかし、ルート権限なしでフレームバッファを使用する方法がわかりません。T_T

これらは私の推測の解決策です。

  1. glreadpixels よりも高速な別の opengl API を使用してください。

  2. 一部のAndroid APIがルート権限なしでフレームバッファを取得できることがわかりました。(android SURFACE_FLINGER にアクセスできるかも??)

  3. 別のオフスクリーン テクスチャを描画して、ビデオを録画します。

しかし、これらのメソッドを実装する方法がわかりません。どのアプローチが正しいですか? Android用のビデオを録画するサンプルコードはありますか? この問題を解決するのを手伝ってください。他の方法を知っていれば、それは役に立ちます。

どんな助けでも大歓迎です

4

1 に答える 1

0

お使いのデバイスの GPU ベンダーは es3.0 をサポートしていますか? サポートしている場合は、PBO の使用を試すことができます。

参照できるトピックは次のとおりです。PBO を使用したリードバックのパフォーマンスが低い、助けてください!!!!!

于 2013-07-09T06:35:18.210 に答える