使用hbuilder开发工具开发:实现可对android机进行控制和获取资源
说明:io模块管理本地文件系统,用于对文件系统的目录浏览、文件的读取、文件的写入等操作。通过plus.io可获取文件系统管理对象
获取目录:常量:
- 应用私有资源目录,对应常量plus.io.private_www,仅应用自身可读
- 应用私有文档目录,对应常量plus.io.private_doc,仅应用自身可读写
- 应用公共文档目录,对应常量plus.io.public_documents,多应用时都可读写,常用于保存应用间共享文件
- 应用公共下载目录,对应常量plus.io.public_downloads,多应用时都可读写,常用于保存下载文件
以下有四个demo
//打开摄像头进行录像 videocapture(){ this.cmr = plus.camera.getcamera(); var res = this.cmr.supportedvideoresolutions[0]; var fmt = this.cmr.supportedvideoformats[0]; console.log("resolution: " res ", format: " fmt); this.cmr.startvideocapture( function( path ){ alert( "capture video success: " path ); }, function( error ) { alert( "capture video failed: " error.message ); }, {resolution:res,format:fmt} ); // 拍摄10s后自动完成 settimeout( this.stopcapture, 10000 ); },
//停止摄像头录像 stopcapture(){ console.log("stopcapture"); this.cmr.stopvideocapture() //设备现在不支持,需要手动调用关闭摄像头 },
//打开摄像头进行拍照 captureimage(){ var cmr = plus.camera.getcamera(); var res = cmr.supportedimageresolutions[0]; var fmt = cmr.supportedimageformats[0]; console.log("resolution: " res ", format: " fmt); cmr.captureimage( function( path ){ //path 拍照成功获取到路径 console.log(path) }, function( error ) { //取消拍照的函数 console.log(error) }, {resolution:res,format:fmt} ) },
//根据路径获取图片参数 getimage(){ plus.io.getimageinfo({ src: "/storage/emulated/0/android/data/io.dcloud.hbuilder/apps/hbuilder/doc/1652421993337.jpg", success: function(data){ console.log(json.stringify(data)); }, fail: function(err){ console.log(json.stringify(err)); } }) },
//获取根目录找到图片 getimage{ console.log(this) let that = this console.log(that) // 应用私有文档目录常量 plus.io.requestfilesystem( plus.io.private_doc , function(fs){ // fs.root是根目录操作对象directoryentry // 创建读取目录信息对象 var directoryreader = fs.root.createreader(); console.log(directoryreader) directoryreader.readentries( function( entries ){ console.log( entries.length) var reg = /.(png|jpg|gif|jpeg|webp)$/; entries.foreach( item =>{ console.log(item.name) if(reg.test(item.name)) { console.log(item.name) console.log(that.imagelist) let name = '/storage/emulated/0/android/data/io.dcloud.hbuilder/apps/hbuilder/doc/' item.name that.imagelist.push(name) console.log(that.imagelist) } }) console.log(that.imagelist) }, function ( e ) { alert( "read entries failed: " e.message ); } ); } ); }