请选择 进入手机版 | 继续访问电脑版
正在上传图片(0/1)

Error code 228: camera unsupport cmd state

 0
手机看帖 10 11079
试FPVDemo的时候出现的错误码
屏幕上没有画面回传,始终黑屏。那几个button摁的时候出现以下信息:
Error code:228
Error msg: DJI Camera Unsupport Cmd State

还偶尔会出现:
Error code:0

请问可能是什么问题呢

评论
上传
你需要登录之后才能回帖    登录 | 注册
lanyusea  Inspire 1认证用户 2015-10-19 推荐
目测是当前相机不在capture mode,跑去usb mode了。

https://dn-dev-dji-front.qbox.me ... Def.CameraMode.html

临时解决方案1:打开DJI GO,DJI GO会在一开始初始化一次相机状态。(在图传画面上记得切去相机功能而非录像功能,不然你拍照的时候仍然会提示228,因为record mode不支持capture相关指令。)

永久解决方案2:在运行你的APP时第一步先初始化照相机模式为capture mode。(其实我觉得教程里面应该提及这一点)
SDK板块日常维护志愿者。
我没有QQ,我也不接受私信提问。有问题请去论坛发帖,利人利己。

我没有QQ,我没有QQ,我没有QQ。
重要的事情说三遍。
楼主   2015-10-19 3#
lanyusea 发表于 2015-10-19 20:38
目测是当前相机不在capture mode,跑去usb mode了。

https://dn-dev-dji-front.qbox.me/docs/v2-3-0/andro ...
多谢前辈 马上跑去试!!
楼主   2015-10-19 4#
lanyusea 发表于 2015-10-19 20:38
目测是当前相机不在capture mode,跑去usb mode了。

https://dn-dev-dji-front.qbox.me/docs/v2-3-0/andro ...
然后现在这个问题解决了  但是依旧黑屏  可是那几个按键都能用 拍照片录像什么的  我去sd卡里查看了一下都有相应的照片和视频真是好奇怪 我之前不知道用什么方法把demo project导入到AS(但不是gradle build) 运行后完全可行没有明显bug
可是自己在AS上按照教程做了一遍 应该是没有改核心的东西 怎么会有这个奇怪的问题呢 原谅我是个JAVA+AS新手。。。
这是我的FPVActivity里面的Oncreate method:
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fpv);

    DroneCode = 2;

    new Thread(){
        public void run(){
            try{
                DJIDrone.checkPermission(getApplicationContext(), new DJIGeneralListener() {
                    @Override
                    public void onGetPermissionResult(int result) {
                        if (result == 0) {
                            // show success
                            Log.e(TAG, "onGetPermissionResult =" + result);
                            Log.e(TAG,
                                    "onGetPermissionResultDescription=" + DJIError.getCheckPermissionErrorDescription(result));
                            handler.sendMessage(handler.obtainMessage(SHOWDIALOG, DJIError.getCheckPermissionErrorDescription(result)));
                        } else {
                            // show errors
                            Log.e(TAG, "onGetPermissionResult =" + result);
                            Log.e(TAG,
                                    "onGetPermissionResultDescription=" + DJIError.getCheckPermissionErrorDescription(result));
                            handler.sendMessage(handler.obtainMessage(SHOWDIALOG, getString(R.string.demo_activation_error) + DJIError.getCheckPermissionErrorDescription(result) + "\n" + getString(R.string.demo_activation_error_code) + result));
                        }
                    }
                });
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }.start();

    onInitSDK(DroneCode);
    DJIDrone.connectToDrone();
    // Try to initialize the camera to capture mode
    DJIDrone.getDjiCamera().setCameraMode(CameraMode.Camera_Capture_Mode, new DJIExecuteResultCallback() {

        @Override
        public void onResult(DJIError mErr) {

            String result = "errorCode =" + mErr.errorCode + "\n" + "errorDescription =" + DJIError.getErrorDescriptionByErrcode(mErr.errorCode);
            if (mErr.errorCode != DJIError.RESULT_OK) {
                handler.sendMessage(handler.obtainMessage(SHOWDIALOG, result));
                // Show the error when setting fails
            }

        }

    });

    mDjiGLSurfaceView = (DjiGLSurfaceView)findViewById(R.id.DjiSurfaceView_02);
    mDjiGLSurfaceView.start();

    mReceivedVideoDataCallBack = new DJIReceivedVideoDataCallBack(){
        @Override
        public void onResult(byte[] videoBuffer, int size){
            mDjiGLSurfaceView.setDataToDecoder(videoBuffer, size);
        }
    };
    DJIDrone.getDjiCamera().setReceivedVideoDataCallBack(mReceivedVideoDataCallBack);

    viewTimer = (TextView) findViewById(R.id.timer);
    captureAction = (Button) findViewById(R.id.button1);
    recordAction = (Button) findViewById(R.id.button2);
    captureMode = (Button) findViewById(R.id.button3);

    captureAction.setOnClickListener(this);
    recordAction.setOnClickListener(this);
    captureMode.setOnClickListener(this);
}

lanyusea  Inspire 1认证用户 2015-10-19 5#
肉眼上看起来没什么问题……(如果你用的DjiSurfaceView_02在做显示)

如果是android的话,多重启几次看看……有时候android解码器自己会抽风
SDK板块日常维护志愿者。
我没有QQ,我也不接受私信提问。有问题请去论坛发帖,利人利己。

我没有QQ,我没有QQ,我没有QQ。
重要的事情说三遍。
楼主   2015-10-20 6#
lanyusea 发表于 2015-10-19 23:01
肉眼上看起来没什么问题……(如果你用的DjiSurfaceView_02在做显示)

如果是android的话,多重启几次看看 ...
我终。。。。终于解决了。。。。之前怎么搜都搜不到解决方案  搜了DJI SDK v2.4 以后马上就搜到了这帖子:http://forum.dev.dji.com/thread-31789-1-1.html原来v2.4更新后 djiGLSurfaceView.start();之前要加个DJIDrone.getDjiCamera().setDecodeType(DJICameraDecodeTypeDef.DecoderType.Software);


噢漏。。。。tutorial里似乎没有提及  demo project用的是eclipse老版本  当时我还差点想换掉整个SDK...
lanyusea  Inspire 1认证用户 2015-10-21 7#
呼叫万能的 DJI-Shirley 快去更新demo project啦!
SDK板块日常维护志愿者。
我没有QQ,我也不接受私信提问。有问题请去论坛发帖,利人利己。

我没有QQ,我没有QQ,我没有QQ。
重要的事情说三遍。
FreemanXu  Phantom 3 Advanced认证用户 2015-10-21 8#
楼主真是。。。我遇到的问题就直接来找你的帖子就行了
FreemanXu  Phantom 3 Advanced认证用户 2015-10-21 9#
不过我还遇到个问题error不知楼主有没有遇到过
开始运行之后logcat不断报错。。。虽然目前不影响功能

10-21 21:47:15.282 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.forName(Class.java:309)
10-21 21:47:15.283 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.forName(Class.java:273)
10-21 21:47:15.283 17060-17086/com.freeman.djifpv W/System.err:     at dji.midware.data.manager.P3.g.a(Unknown Source)
10-21 21:47:15.283 17060-17086/com.freeman.djifpv W/System.err:     at dji.midware.data.manager.P3.g.d(Unknown Source)
10-21 21:47:15.283 17060-17086/com.freeman.djifpv W/System.err:     at dji.midware.usb.P3.UsbAccessoryService$ParseOsdRunnable.run(Unknown Source)
10-21 21:47:15.283 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Thread.run(Thread.java:818)
10-21 21:47:15.283 17060-17086/com.freeman.djifpv W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "dji.midware.data.model.P3.DataTransform_gGetPushCheckStatus" on path: DexPathList[[zip file "/data/app/com.freeman.djifpv-1/base.apk"],nativeLibraryDirectories=[/data/app/com.freeman.djifpv-1/lib/arm, /vendor/lib, /system/lib]]
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:         ... 7 more
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:         Suppressed: java.lang.ClassNotFoundException: dji.midware.data.model.P3.DataTransform_gGetPushCheckStatus
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.classForName(Native Method)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:                 ... 8 more
10-21 21:47:15.284 17060-17086/com.freeman.djifpv W/System.err:         Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err: java.lang.ClassNotFoundException: dji.midware.data.model.P3.DataTransform_gGetPushCheckStatus

10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.classForName(Native Method)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.forName(Class.java:309)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.forName(Class.java:273)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at dji.midware.data.manager.P3.g.a(Unknown Source)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at dji.midware.data.manager.P3.g.d(Unknown Source)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at dji.midware.usb.P3.UsbAccessoryService$ParseOsdRunnable.run(Unknown Source)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Thread.run(Thread.java:818)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "dji.midware.data.model.P3.DataTransform_gGetPushCheckStatus" on path: DexPathList[[zip file "/data/app/com.freeman.djifpv-1/base.apk"],nativeLibraryDirectories=[/data/app/com.freeman.djifpv-1/lib/arm, /vendor/lib, /system/lib]]
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:         ... 7 more
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:         Suppressed: java.lang.ClassNotFoundException: dji.midware.data.model.P3.DataTransform_gGetPushCheckStatus
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.Class.classForName(Native Method)
10-21 21:47:16.281 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
10-21 21:47:16.282 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
10-21 21:47:16.282 17060-17086/com.freeman.djifpv W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
10-21 21:47:16.282 17060-17086/com.freeman.djifpv W/System.err:                 ... 8 more
10-21 21:47:16.282 17060-17086/com.freeman.djifpv W/System.err:         Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
楼主   2015-10-21 10#
FreemanXu 发表于 2015-10-21 22:29
不过我还遇到个问题error不知楼主有没有遇到过
开始运行之后logcat不断报错。。。虽然目前不影响功能
没有遇到过这个问题 请确保完完全全按照tutorial里面的code来写
另外 正确导入sdk两种方法:
woxikuanwan   2016-1-7 11#
VoltWu 发表于 2015-10-21 23:24
没有遇到过这个问题 请确保完完全全按照tutorial里面的code来写
另外 正确导入sdk两种方法:
为什么我的sdk里面没有DJIDrone.getDjiCamera().setDecodeType(DJICameraDecodeTypeDef.DecoderType.Software);   setdecodetype方法都没有,sdk是2.4.1的
取消 点赞 评论
分享至:
回复:
上传
取消 评论
快速回复 返回顶部 返回列表