You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
2.9 KiB

// miniprogram/pages/Dubbing/Dubbing.js
var Path=''
Page({
/**
* 页面的初始数据
*/
data: {
isSpeaking: false,//是否正在说话
voices: [],//音频数组:
muted:'false',
path:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
Path= options.path;
var a=Path.length;
Path=Path.substring(0, a - 5) + '.mp4'
this.setData({
path: Path//根据图片路径得到相应的视频路径
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
this.videoContext = wx.createVideoContext('myVideo');
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
funended: function () {
console.log('录音结束');
wx.stopRecord();// 结束录音
wx.navigateTo({//视频播放完成自动跳转到预览页面
url: '../previewWork/previewWork?path='+Path,
})
},
//预览素材
playingFodder: function () {
this.setData({
muted: false
})
this.videoContext.play();
},
//重新录音
reDub: function () {
wx.stopRecord();
this.setData({
isSpeaking: false
});
wx.showModal({
title: '提示',
content: '重新录音'
});
this.startDub();
},
//结束录音
endDub() {
this.videoContext.stop();
wx.stopRecord();
wx.navigateTo({
url: '../previewWork/previewWork?path='+Path,
})
wx.showToast({
title: '录音结束',
icon: 'success',
duration: 200
})
},
// 开始录音,
startDub: function () {
this.videoContext.seek(0);
this.videoContext.play();
//speaking.call(this);
this.setData({
isSpeaking: true,
muted: true,
})
wx.startRecord({
success: function (res) {
var tempFilepath = res.tempFilePath;
wx.saveFile({
tempFilePath: tempFilepath,
success: function (res) {
var savedFilepath = res.savedFilePath;
getApp().globalData.workPath = savedFilepath;
console.log(getApp().globalData.workPath);
},
}),
wx.showToast({
title: '录音成功',
icon: 'success',
duration: 200
})
},
fail: function (res) {
wx.showModal({
title: '提示',
content: '录音出错'
})
},
});
},
})