這篇文章主要介紹小程序如何實現(xiàn)采集錄音并上傳到后臺,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了西城免費建站歡迎大家使用!
具體內容如下
demo.wxml
<view> <button bindtap='startRecordMp3' type='primary'>錄音開始(mp3)</button> </view> <view> <button bindtap='stopRecord' type='primary'>錄音結束</button> </view> <view> <button bindtap='playRecord' type='primary'>播放錄音</button> </view> <view> <button bindtap='sendRecord' type='primary'>播放錄音</button> </view>
demo.wxss
view{
padding: 15px;
}demo.js
// pages/newMusic/index.js
const recorderManager = wx.getRecorderManager();
Page({
data: {
},
/**
* 提示
*/
tip: function (msg) {
wx.showModal({
title: '提示',
content: msg,
showCancel: false
})
}
/**
* 錄制mp3音頻
*/
, startRecordMp3: function () {
recorderManager.start({
format: 'mp3'
});
}
/**
* 停止錄音
*/
, stopRecord: function () {
recorderManager.stop()
}
/**
* 播放錄音
*/
, playRecord: function () {
var that = this;
var src = this.data.src;
if (src == '') {
this.tip("請先錄音!")
return;
}
this.innerAudioContext.src = this.data.src;
this.innerAudioContext.play()
},
onLoad: function (options) {
var that = this;
recorderManager.onError(function () {
that.tip("錄音失敗!")
});
recorderManager.onStop(function (res) {
that.setData({
src: res.tempFilePath
})
console.log(res.tempFilePath)
that.tip("錄音完成!")
});
this.innerAudioContext = wx.createInnerAudioContext();
this.innerAudioContext.onError((res) => {
that.tip("播放錄音失敗!")
})
}
})java后臺接收
package com.azor.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.StringUtils;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.azor.utils.HttpAPIService;
import ch.qos.logback.classic.Logger;
import net.sf.json.JSONObject;
@RestController
@RequestMapping("/base_voice")
public class BaseController {
private static final Logger logger = (Logger) LoggerFactory.getLogger(BaseController.class);
private static String lineSeparator = System.getProperty("line.separator");
@Autowired
protected Environment env;
@Autowired
protected HttpAPIService httpAPIService;
/** 上傳文件保存路徑 */
private final String FILE_SAVE_PATH = "D:/photo/jac_hr_miniprogram_file/";
/** 主業(yè)務數(shù)據(jù)Map */
protected Map<String, Object> dataMap = new HashMap<>();
/** HTTP POST 請求Map */
protected Map<String, Object> postMap = new HashMap<>();
@RequestMapping("/file_upload")
public void saveFile(HttpServletRequest request, String url) throws Exception {
logger.info("文件上傳開始" + lineSeparator);
// 1.獲取從前臺傳過來得圖片
MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = req.getFile("file");
// 2.獲得文件擴展名
String extOfFile = getExtOfFile(multipartFile);
// 3.保存到本地
BufferedOutputStream bos = null;
String filename = null;
try {
File dir = new File(file_save_path);
if (!dir.exists()) {// 判斷文件目錄是否存在
dir.mkdirs();
}
filename = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + (int) (Math.random() * 1000) + "."
+ extOfFile;
bos = new BufferedOutputStream(new FileOutputStream(file_save_path + filename));
bos.write(multipartFile.getBytes());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public String getExtOfFile(MultipartFile multipartFile) {
// 獲取文件的 名稱.擴展名
String oldName = multipartFile.getOriginalFilename();
String extensionName = "";
// 獲取原來的擴展名
if ((oldName != null) && (oldName.length() > 0)) {
int dot = oldName.lastIndexOf('.');
if ((dot > -1) && (dot < (oldName.length() - 1))) {
extensionName = oldName.substring(dot+1);
}
}
return extensionName;
}
}效果


以上是“小程序如何實現(xiàn)采集錄音并上傳到后臺”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文名稱:小程序如何實現(xiàn)采集錄音并上傳到后臺
文章起源:http://chinadenli.net/article30/gogcso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、網(wǎng)站設計、網(wǎng)站導航、全網(wǎng)營銷推廣、服務器托管、響應式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)