微信小程序?qū)崿F(xiàn)上傳視頻功能
本文實(shí)例為大家分享了微信小程序上傳視頻,供大家參考,具體內(nèi)容如下
微信開(kāi)發(fā)者工具需要安裝ffmpeg環(huán)境才能正常使用下面的官方方法。
1、調(diào)用官方提供的方法(wx.chooseMedia)
choosevideo(){
? ? let that=this
? ? console.log("上傳視頻的方法")
? ? wx.chooseMedia({
? ? ? count: 1, ?//上傳視頻的個(gè)數(shù)
? ? ? mediaType:['video'], ?//限制上傳的類型為video
? ? ? sourceType:['album', 'camera'], //視頻選擇來(lái)源
? ? ? maxDuration: 58, //拍攝限制時(shí)間
? ? ? camera: 'back', ?//采用后置攝像頭
? ? ? success:function(res){
? ? ? ? //獲取臨時(shí)存放的視頻資源
? ? ? ? let tempFilePath=res.tempFiles[0].tempFilePath
? ? ? ? //獲取該視頻的播放時(shí)間
? ? ? ? let duration=res.tempFiles[0].duration
? ? ? ? console.log("視頻播放時(shí)間為"+duration)
? ? ? ? //獲取視頻的大小(MB單位)
? ? ? ? let size=parseFloat(res.tempFiles[0].size/1024/1024).toFixed(1)
? ? ? ? console.log("視頻大小為"+size)
? ? ? ? //獲取視頻的高度
? ? ? ? let height=res.tempFiles[0].height
? ? ? ? console.log("視頻高度為"+height)
? ? ? ? //獲取視頻的寬度
? ? ? ? let width=res.tempFiles[0].width
? ? ? ? console.log("視頻寬度為"+width)
? ? ? ? //校驗(yàn)大小后,符合進(jìn)行上傳
? ? ? ? if(size>20){
? ? ? ? ? ? let beyongSize=size-20 //獲取視頻超出限制大小的數(shù)量
? ? ? ? ? ? Toast("上傳的視頻大小超限,超出"+beyongSize+"MB,請(qǐng)重新上傳!")
? ? ? ? ? ? return
? ? ? ? }else{
? ? ? ? ? //符合大小限制,進(jìn)行上傳
? ? ? ? ? console.log("開(kāi)始上傳!??!")
? ? ? ? ? that.uploadvideo({
? ? ? ? ? ? url: api.uploadfiletofastdfs, //視頻上傳的接口
? ? ? ? ? ? path: tempFilePath, //選取的視頻資源臨時(shí)地址
? ? ? ? ? });
? ? ? ? }
? ? ? },
? ? })
? },
?//視頻上傳
? ? uploadvideo: function (data) {
? ? ? wx.showLoading({
? ? ? ? title: '上傳中...',
? ? ? ? mask: true,
? ? ? })
? ? ? var that = this
? ? ? //?? ?視頻壓縮
? ? ? wx.compressVideo({
? ? ? ? quality: 'high',
? ? ? ? src: data.path,
? ? ? ? success:function(res){
? ? ? ? ? let size=parseFloat(res.size/1024/1024).toFixed(1)
? ? ? ? ? console.log("壓縮后視頻大小為"+size)
? ? ? ? ? that.setData({
? ? ? ? ? ? sptemp:res.tempFilePath
? ? ? ? ? })
? ? ? ? ? //上傳視頻
? ? ? ? ? wx.uploadFile({
? ? ? ? ? ? url: data.url,
? ? ? ? ? ? filePath: res.tempFilePath,
? ? ? ? ? ? name: 'uploadFile',
? ? ? ? ? ? header: {
? ? ? ? ? ? ? "X-Access-Token":wx.getStorageSync('token')
? ? ? ? ? ? },
? ? ? ? ? ? success: (resp) => {
? ? ? ? ? ? ? wx.hideLoading();
? ? ? ? ? ? ? //獲取fastDFS返回的存儲(chǔ)路徑
? ? ? ? ? ? ? console.log(resp)
? ? ? ? ? ? },
? ? ? ? ? });
? ? ? ? },
? ? ? }) ??
? ? },2、頁(yè)面中用標(biāo)簽將上傳的視頻顯示出來(lái)
<video ?src="{{sptemp}}" ></video>3、效果展示

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Three.js基礎(chǔ)學(xué)習(xí)之場(chǎng)景對(duì)象
這篇文章主要給大家介紹了Three.js基礎(chǔ)學(xué)習(xí)之場(chǎng)景對(duì)象的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用three.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧。2017-09-09
javascript實(shí)現(xiàn)勻速動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)勻速動(dòng)畫(huà)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
教你如何使用firebug調(diào)試功能了解javascript閉包和this
這篇文章主要介紹了教你如何使用firebug調(diào)試功能了解javascript閉包和this,javascript的調(diào)試也是一個(gè)比較大的難點(diǎn),很多基礎(chǔ)的東西都需要自己去摸索,這里將自己的經(jīng)驗(yàn)分享給大家,希望對(duì)大家能夠有所幫助2015-03-03
js escape,unescape解決中文亂碼問(wèn)題的方法
Js將字符串轉(zhuǎn)換為特定的編碼,使其能夠被任意的計(jì)算機(jī)識(shí)別和讀取2010-05-05
企業(yè)微信掃碼登錄網(wǎng)頁(yè)功能實(shí)現(xiàn)代碼
這篇文章主要介紹了企業(yè)微信掃碼登錄網(wǎng)頁(yè)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
echarts折線圖實(shí)現(xiàn)部分虛線部分實(shí)線效果的方法
在折線圖中,通常實(shí)線表示實(shí)際數(shù)據(jù),而虛線用于表示預(yù)測(cè)數(shù)據(jù),這篇文章主要介紹了echarts折線圖實(shí)現(xiàn)部分虛線部分實(shí)線效果的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
javascript實(shí)現(xiàn)平滑無(wú)縫滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)平滑無(wú)縫滾動(dòng)的具體代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05

