1***@qq.com
1***@qq.com
  • 发布:2020-05-21 14:38
  • 更新:2020-05-23 14:30
  • 阅读:1100

native.js 调用camera获取视频流,安卓自动退出

分类:Native.js

android native.js 调用camera获取视频流,添加回调以后大概4/5秒就会自动退出,谁知道是怎么回事?内存不足吗?

document.addEventListener( "plusready",()=>{  
                //导入类  
                SurfaceView = plus.android.importClass("android.view.SurfaceView");  
                //导入Camera类  
                Camera = plus.android.importClass("android.hardware.Camera");  
                console.log("Camera",Camera);  
                //导入类  
                LinearLayout = plus.android.importClass("android.widget.LinearLayout");  

                //获取Activity  
                main = plus.android.runtimeMainActivity();  
                console.log('main',main)  
                view = new LinearLayout(main);   
                console.log("view",view);  
                //设置布局参数  
                var lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);  
                //实例化surfaceview  
                surfaceview = plus.android.newObject("android.view.SurfaceView",main);  
                console.log("surfaceview",surfaceview);  
                //获取holder  
                //holder = surfaceview.getHolder();  
                holder = plus.android.invoke(surfaceview,"getHolder");  
                console.log("holder",holder);  

                linearParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); //取控件surfaceview当前的布局参数  
                console.log("linearParams",linearParams);  
                view.addView(surfaceview,linearParams);  
                main.setContentView(view);  

                //打开摄像头  
                camera = plus.android.invoke("android.hardware.Camera","open",0);  
                console.log("camera",camera);  

                //设置摄像头参数  
                params = plus.android.invoke(camera,"getParameters");  
                console.log('params',params);  

                //params.setPreviewSize(3968,2796);  
                //params.setPreviewFrameRate(5);  

                //params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);// 连续自动对焦  
                plus.android.invoke(camera,"setParameters",params);  

                //90度  
                camera.setDisplayOrientation(90);  
                //显示相机预览  
                plus.android.invoke(camera,"setPreviewDisplay",holder);  

                // autoFocusCB = plus.android.implements( "android.hardware.Camera.AutoFocusCallback", {  
                //  "onAutoFocus":function( success , camera ){  
                //      console.log("自动对焦",success,camera);  
                //  }  
                // });  

                // plus.android.invoke(camera,"autoFocus",autoFocusCB);  

                //注册视频流回掉  

                previewCallback = plus.android.implements("android.hardware.Camera$PreviewCallback", {  
                    onPreviewFrame:function( data , camera ){  
                        console.log("视频流");  
                    }  
                })  
                camera.setPreviewCallback(previewCallback);  

                //开始拍摄  
                plus.android.invoke(camera,"startPreview");  

            }, false );
2020-05-21 14:38 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

大神们,在哪里?

1***@qq.com

1***@qq.com (作者)

最后还是拿原生重写了、、、、、、、、、

该问题目前已经被锁定, 无法添加新回复