绝地求生
绝地求生
  • 发布:2016-12-08 10:54
  • 更新:2016-12-09 10:46
  • 阅读:3608

mui与安卓原生通信

分类:Native.js

现在再做一个项目,是用mui写的,但是现在要与安卓进行通信,比如一个功能就是调用安卓的视频录制功能,因为mui提供的视频录制不能够进行视频压缩,所以要调用安卓的视频录制,但是mui怎么才能调用安卓的页面以及安卓的方法呢?

2016-12-08 10:54 负责人:无 分享
已邀请:
无色无花

无色无花

            // 录像  
            function getVideo() {  
                //关闭弹出层  
                mui('.mui-popover').popover("hide");  
                //调用原生android摄像头  
                var VIDEOZOOM = 200;  
                var MediaStore = plus.android.importClass("android.provider.MediaStore");  
                var Intent = plus.android.importClass("android.content.Intent");  
                // 导入后可以使用new方法创建类的示例对象  
                var intent = new Intent("android.media.action.VIDEO_CAPTURE");  
                intent.putExtra("android.intent.extra.videoQuality", 1);//0 means low quality, 1 means high quality  
                //intent.putExtra("android.provider.MediaStore.EXTRA_OUTPUT", url);  
                intent.putExtra("android.intent.extra.durationLimit", 3);//设置录像时间  

                var main = plus.android.runtimeMainActivity();  
                main.startActivityForResult(intent,VIDEOZOOM);  
                //获取返回参数  
                main.onActivityResult = function(requestCode, resultCode, data) {  
                    var context = main;  
                    plus.android.importClass(data);  
                    var contactData = data.getData();  
                    var resolver = context.getContentResolver();  
                    plus.android.importClass(resolver);  
                    var cursor = resolver.query(contactData, null, null, null, null);  

                    plus.android.importClass(cursor);  

                    cursor.moveToFirst();  
                    var column = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);  
                    //获取录制的视频路径  
                    var urlstr = cursor.getString(column);  

                    //解析视频文件的属性  
                    plus.io.resolveLocalFileSystemURL(urlstr,function( entry ) {  
                    // 可通过entry对象操作test.html文件   
                        entry.file( function(file){  
                            console.log("size=="+file.size);  
                            document.getElementById("spfile").value = file.name;  
                            console.log("name=="+file.name);  
                            document.getElementById("sppath").value = urlstr;  
                        } );  
                    }, function ( e ) {  
                        plus.nativeUI.toast( "Resolve file URL failed: " + e.message );  
                    } );  

                };  
            }
chender

chender - 与人为善

要写一个h5+的插件,把原生的功能暴露给html页面

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