1
私はnativescriptプラグイン(typescript) でJavaインターフェイスを実装しようとしていますが、ビューを呼び出すとこのエラーが表示されます。オブジェクトをLandroid/view/textureview/surfacetexturelistenerに変換できませんnativescript:Landroid/view/textureview/surfacetexturelistenerにオブジェクトを変換できません
私のtypescriptクラスがinterface SurfaceTextureListenerを実装していないと仮定します。しかし、私は必要な4つの方法すべてを追加しました。ここ
は、Javaコード
public class FFmpegRecordActivity extends AppCompatActivity implements
TextureView.SurfaceTextureListener, View.OnClickListener {
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPreview = (FixedRatioCroppedTextureView) findViewById(R.id.camera_preview);
mCameraId = Camera.CameraInfo.CAMERA_FACING_FRONT;
// Switch width and height
mPreview.setPreviewSize(previewHeight, previewWidth);
mPreview.setCroppedSizeWeight(videoWidth, videoHeight);
mPreview.setSurfaceTextureListener(this);
}
@Override
public void onSurfaceTextureAvailable(final SurfaceTexture surface, int width, int height) {
startPreview(surface);
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return true;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
...
}
活字体のコードを働いている私は
export class NumberPicker extends view.View {
public _createUI() {
// this._android = new android.widget.NumberPicker(this._context);
this.mCameraId = android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT;
this._android = new com.github.crazyorr.ffmpegrecorder.FixedRatioCroppedTextureView(this._context);
this._android.setPreviewSize(100, 100);
this._android.setCroppedSizeWeight(100, 100);
this._android.setSurfaceTextureListener(this);
console.log("my-plugin - Android : _createUI")
};
public onSurfaceTextureAvailable(surface, width, height) {
this.startPreview(surface);
}
public onSurfaceTextureSizeChanged(surface, width, height) {
}
public onSurfaceTextureDestroyed(surface): Boolean {
return true;
}
public onSurfaceTextureUpdated(surface) {
}
}
をしようとしている私は
declare var android:any;
// @Interfaces([android.view.TextureView.SurfaceTextureListener]) /* the interfaces that will be inherited by the resulting MyVersatileCopyWriter class */
export class NumberPicker extends view.View implements {
// interfaces:[android.view.TextureView.SurfaceTextureListener]
を追加しようとしたが、すべてはカントのエラーがTSコンパイラ
にアンドロイドを見つけました
私はtsでこれを書き直さなければならないようです。私はインターフェイスを使用して停止しました。このインターフェイスを実装するアンドロイドスタジオプロジェクトに新しいクラスを作成しました。その後、そのクラスをnativescriptから呼び出しました – matar