本文實(shí)例講述了微信小程序拍照和攝像功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
為輝縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及輝縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、輝縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
拍照
原先的想法是使用微信的camera組件來實(shí)現(xiàn),并且模擬發(fā)朋友圈的樣子來進(jìn)行相機(jī)的設(shè)置,其實(shí)就是將camera組件的大小設(shè)置成根屏幕一樣大,并在上面使用一個(gè)cover-image組件來給用戶進(jìn)行點(diǎn)擊,可是實(shí)際上的情況是第一,cover-image組件有時(shí)候會(huì)消失,第二,整個(gè)流程實(shí)現(xiàn)起來很僵硬,頁面跳轉(zhuǎn)也是卡的要死,后來無意間發(fā)現(xiàn)了另一個(gè)API:wx.chooseImage
,這個(gè)API會(huì)自己去調(diào)用相機(jī)和相冊(cè),之后的工作完全交給底層去實(shí)現(xiàn),簡直是簡單到?jīng)]朋友:
// 拍照功能 getLocalImage:function(){ var that=this; wx.chooseImage({ count:1, success:function(res){ // 這里無論用戶是從相冊(cè)選擇還是直接用相機(jī)拍攝,拍攝完成后的圖片臨時(shí)路徑都會(huì)傳遞進(jìn)來 app.startOperating("保存中") var filePath=res.tempFilePaths[0]; var session_key=wx.getStorageSync('session_key'); // 這里順道展示一下如何將上傳上來的文件返回給后端,就是調(diào)用wx.uploadFile函數(shù) wx.uploadFile({ url: app.globalData.url+'/home/upload/uploadFile/session_key/'+session_key, filePath: filePath, name: 'file', success:function(res){ app.stopOperating(); // 下面的處理其實(shí)是跟我自己的業(yè)務(wù)邏輯有關(guān) var data=JSON.parse(res.data); if(parseInt(data.status)===1){ app.showSuccess('文件保存成功'); }else{ app.showError("文件保存失敗"); } } }) }, fail:function(error){ console.error("調(diào)用本地相冊(cè)文件時(shí)出錯(cuò)") console.warn(error) }, complete:function(){ } }) },
其中封裝在app.js中的函數(shù)可以看我這篇文章:微信小程序一些簡易小函數(shù)總結(jié)。
攝影
其實(shí)跟上面的原理是一樣的,對(duì)應(yīng)的API就是wx.chooseVideo
,其中可以設(shè)置拍攝時(shí)間,用戶拍攝結(jié)束以及用戶拍攝時(shí)間超時(shí)等,都會(huì)調(diào)用success的回調(diào)函數(shù),所以又是可以安心處理接下來的業(yè)務(wù)流程,而不用需要調(diào)用camera組件。
// 攝像功能 getLocalVideo:function(){ var that=this; var session_key=wx.getStorageSync('session_key'); wx.chooseVideo({ maxDuration:10, success:function(res1){ app.startOperating("上傳中") // 這個(gè)就是最終拍攝視頻的臨時(shí)路徑了 var tempFilePath=res1.tempFilePath; }, fail:function(){ console.error("獲取本地視頻時(shí)出錯(cuò)"); } }) },
實(shí)現(xiàn)起來也是很簡單,但是有一個(gè)問題就是沒有辦法像調(diào)用camera組件一樣獲取視頻的縮略圖,這是現(xiàn)在唯一的缺陷。但是總體來說,比起調(diào)用camera組件,這樣實(shí)現(xiàn)起來的確簡單了很多。
希望本文所述對(duì)大家微信小程序開發(fā)有所幫助。
標(biāo)題名稱:微信小程序拍照和攝像功能實(shí)現(xiàn)方法示例
路徑分享:http://chinadenli.net/article35/gchesi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、網(wǎng)站排名、網(wǎng)站營銷、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)