0

ネイティブコードからサーフェスのバッファをフィードしたい。したがって、SurfaceViewのSurfaceHolderのgetSurfaceメソッドからサーフェスを取得します。今私が欲しいのは、画像をレンダリングするためにネイティブからフィードバッファにそれを使用することです。SurfaceClinger/Surface.hを含めました。しかし、mSurfaceプロパティを取得しようとすると、mSurfaceに対してjava.lang.NoSuchFieldExceptionというエラーがスローされます。この点に関する提案は役に立ちます。

コードスニペット:

Surface       mSurface;
SurfaceHolder mSurfaceHolder;

mSurface = mSurfaceHolder.getSurface();

try{
    class myClass = mSurface.getClass();
    String fieldName = "mSurface";
    Field field = myClass.getDeclaredField(fieldName);
    field.setAccesssible(true);
    int surfacePtr = field.getInt(mSurface);
    nativeInterface.DrawOnSurface(surfacePtr);
}
catch(Exception ex){}

ありがとう。

4

1 に答える 1

0

ジンジャーブレッド以降、フィールド名が異なります。フィールド名を「mSurface」から「mNativeSurface」に置き換えることで、問題が解決されます。フローズンヨーグルト以下の場合は「mSurface」が機能します。

于 2013-02-25T06:18:40.753 に答える