parent
3ff3b153ec
commit
3a2a2e8fd5
@ -0,0 +1,349 @@
|
||||
// pages/previewTxtWork/previewTxtWork.js
|
||||
const myBgm = wx.createInnerAudioContext()
|
||||
//const mytxtVoice = wx.createInnerAudioContext()
|
||||
var bgm = [[], []]
|
||||
var isAddbgm = 0
|
||||
var bgmA
|
||||
var bgmB
|
||||
var src1
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
falg: '',
|
||||
multiArray: [['不添加', '哀伤', '欢乐', '抒情', '古典'], []],
|
||||
objectArray: [
|
||||
{
|
||||
id: 0,
|
||||
name: '不添加'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '哀伤'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '欢乐'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '抒情'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: '古典'
|
||||
},
|
||||
|
||||
],
|
||||
playnow:false,
|
||||
multiIndex: [],
|
||||
bgm: [[], []],
|
||||
sadBgm: [[], []],
|
||||
happyBgm: [[], []],
|
||||
lyricBgm: [[], []],
|
||||
classicalBgm: [[], []],
|
||||
list: '',
|
||||
picturePath:'',
|
||||
Title:''
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
this.onQuery('哀伤', 1);
|
||||
this.onQuery('欢乐', 2);
|
||||
this.onQuery('抒情', 3);
|
||||
this.onQuery('古典', 4);
|
||||
console.log("picture=" + options.picturepath);
|
||||
this.setData({
|
||||
list: options.list,
|
||||
picturePath:options.picturepath,
|
||||
Title:options.title
|
||||
})
|
||||
myBgm.volume = 0.2;
|
||||
console.log(this.data.list)
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
this.myVoice = wx.createInnerAudioContext('');
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
myBgm.destroy();
|
||||
this.myVoice.destroy();
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
},
|
||||
//查询所有的bgm信息
|
||||
onQuery: function (style, falg) {
|
||||
const db = wx.cloud.database()
|
||||
var i;
|
||||
db.collection('bgm').where({
|
||||
style: style
|
||||
}).get({
|
||||
success: res => {
|
||||
this.setData({
|
||||
queryResult: JSON.stringify,
|
||||
})
|
||||
console.log('[数据库] [查询记录] 成功: ', res)
|
||||
var j = res.data.length
|
||||
for (i = 0; i < j; i++) {
|
||||
var bgmI = "bgm[" + 0 + "]" + "[" + i + "]"
|
||||
var bgmII = "bgm[" + 1 + "]" + "[" + i + "]"
|
||||
var path = res.data[i].cloudPath
|
||||
var bgmName = res.data[i].name;
|
||||
this.setData({
|
||||
[bgmI]: path,
|
||||
[bgmII]: bgmName,
|
||||
})
|
||||
if (falg == 1) {
|
||||
this.data.sadBgm[0][i] = res.data[i].cloudPath;
|
||||
this.data.sadBgm[1][i] = res.data[i].name;
|
||||
|
||||
}
|
||||
|
||||
if (falg == 2) {
|
||||
this.data.happyBgm[0][i] = res.data[i].cloudPath;
|
||||
this.data.happyBgm[1][i] = res.data[i].name;
|
||||
}
|
||||
if (falg == 3) {
|
||||
this.data.lyricBgm[0][i] = res.data[i].cloudPath;
|
||||
this.data.lyricBgm[1][i] = res.data[i].name;
|
||||
}
|
||||
if (falg == 4) {
|
||||
this.data.classicalBgm[0][i] = res.data[i].cloudPath;
|
||||
this.data.classicalBgm[1][i] = res.data[i].name;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//修改类型
|
||||
bindMultiPickerChange: function (e) {
|
||||
this.setData({
|
||||
multiIndex: e.detail.value
|
||||
})
|
||||
},
|
||||
bindMultiPickerColumnChange: function (e) {
|
||||
var data = {
|
||||
multiArray: this.data.multiArray,//第二列的值
|
||||
multiIndex: this.data.multiIndex
|
||||
};
|
||||
data.multiIndex[e.detail.column] = e.detail.value;
|
||||
|
||||
switch (e.detail.column) {
|
||||
case 0:
|
||||
switch (data.multiIndex[0]) {
|
||||
case 0:
|
||||
data.multiArray[1] = [''];
|
||||
isAddbgm = 'false';
|
||||
break;
|
||||
case 1:
|
||||
data.multiArray[1] = this.data.sadBgm[1];
|
||||
isAddbgm = 'ture'
|
||||
break;
|
||||
case 2:
|
||||
data.multiArray[1] = this.data.happyBgm[1];
|
||||
isAddbgm = 'ture'
|
||||
break;
|
||||
case 3:
|
||||
data.multiArray[1] = this.data.lyricBgm[1];
|
||||
isAddbgm = 'ture'
|
||||
break;
|
||||
case 4:
|
||||
data.multiArray[1] = this.data.classicalBgm[1];
|
||||
isAddbgm = 'ture'
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
this.setData(data);
|
||||
isAddbgm=1;
|
||||
bgmA = this.data.multiIndex[0];//第0列类型的序号
|
||||
bgmB = this.data.multiIndex[1];//第1列歌曲序号
|
||||
console.log(bgmA);
|
||||
console.log(bgmB);
|
||||
},
|
||||
//根据选定的歌曲名查询BGM的路径
|
||||
onQueryPath: function () {
|
||||
console.log("开始执行")
|
||||
if (bgmA == 0) {
|
||||
myBgm.src = ''
|
||||
}
|
||||
if (bgmA == 1) {
|
||||
myBgm.src = this.data.sadBgm[0][bgmB];
|
||||
console.log('src1' + myBgm.src)
|
||||
console.log('src1=' + myBgm.src +
|
||||
'this.data.classicalBgm[0][bgmB]=' + this.data.sadBgm[0][bgmB])
|
||||
}
|
||||
if (bgmA == 2) {
|
||||
myBgm.src = this.data.happyBgm[0][bgmB];
|
||||
console.log('src2' + myBgm.src)
|
||||
console.log('src2=' + myBgm.src +
|
||||
'this.data.classicalBgm[0][bgmB]=' + this.data.happyBgm[0][bgmB])
|
||||
}
|
||||
if (bgmA == 3) {
|
||||
myBgm.src = this.data.lyricBgm[0][bgmB];
|
||||
console.log('src3' + myBgm.src)
|
||||
console.log('src3=' + myBgm.src +
|
||||
'this.data.classicalBgm[0][bgmB]=' + this.data.lyricBgm[0][bgmB])
|
||||
}
|
||||
if (bgmA == 4) {
|
||||
myBgm.src = this.data.classicalBgm[0][bgmB];
|
||||
console.log('src4=' + myBgm.src +
|
||||
'this.data.classicalBgm[0][bgmB]=' + this.data.classicalBgm[0][bgmB])
|
||||
}
|
||||
},
|
||||
//开始播放或暂停播放
|
||||
conPlaying() {
|
||||
/*
|
||||
if (this.data.playnow) {
|
||||
this.myVoice.pause();
|
||||
myBgm.pause();
|
||||
this.setData({
|
||||
playnow: false
|
||||
})
|
||||
}
|
||||
else {
|
||||
this.setData({
|
||||
playnow: true
|
||||
})
|
||||
wx.showToast({
|
||||
title: '开始播放',
|
||||
});
|
||||
*/
|
||||
this.myVoice.src = getApp().globalData.workPath;
|
||||
console.log('this.myVoice.src' + this.myVoice.src)
|
||||
|
||||
this.onQueryPath();
|
||||
console.log('myBgm.src=' + myBgm.src)
|
||||
console.log('isAddbgm='+isAddbgm)
|
||||
if(bgmA==0||isAddbgm==false){
|
||||
this.myVoice.play();
|
||||
}else{
|
||||
myBgm.play();
|
||||
myBgm.onPlay(() => {
|
||||
this.myVoice.play();
|
||||
console.log('bmg开始播放')
|
||||
console.log("txtsrc=" + this.myVoice.src)
|
||||
console.log('mybgm=' + myBgm.src)
|
||||
});
|
||||
}
|
||||
this.myVoice.onPlay(() => {
|
||||
console.log('录音开始播放');
|
||||
wx.showToast({
|
||||
title: '开始播放',
|
||||
duration: 200
|
||||
});
|
||||
})
|
||||
this.myVoice.onStop(()=>{
|
||||
myBgm.stop();
|
||||
wx.showToast({
|
||||
title: '播放结束',
|
||||
duration: 200
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
|
||||
onAdd(cloudpath) {
|
||||
const db = wx.cloud.database()
|
||||
db.collection('user-text').add({
|
||||
data: {
|
||||
BgmPath:'',
|
||||
TextPath:this.data.list,
|
||||
CloudPath: cloudpath,
|
||||
Picture:this.data.picturePath,
|
||||
name:this.data.Title
|
||||
},
|
||||
success: res => {
|
||||
// 在返回结果中会包含新创建的记录的 _id
|
||||
this.setData({
|
||||
counterId: res._id,
|
||||
count: 1,
|
||||
fileID: '',
|
||||
cloudPath: ''
|
||||
})
|
||||
wx.showToast({
|
||||
title: '保存成功',
|
||||
})
|
||||
wx.switchTab({
|
||||
url: '../mine/mine',
|
||||
})
|
||||
console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)
|
||||
},
|
||||
fail: err => {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '新增记录失败'
|
||||
})
|
||||
console.error('[数据库] [新增记录] 失败:', err)
|
||||
}
|
||||
})
|
||||
},
|
||||
saveWork() {
|
||||
var path;
|
||||
var length = this.data.picturePath.length - 4;
|
||||
var index = this.data.picturePath.substring(77, length-1);//得到标识文本的序号
|
||||
console.log("index=" + index);
|
||||
wx.cloud.uploadFile({
|
||||
cloudPath: 'TxtWork/' + getApp().globalData.openid + index + '.mp3',
|
||||
filePath: getApp().globalData.workPath,
|
||||
success: res => {
|
||||
// get resource ID
|
||||
console.log("保存成功 fielID="+res.fileID);
|
||||
this.onAdd(res.fileID);//调用数据库
|
||||
wx.pauseVoice();
|
||||
},
|
||||
fail: err => {
|
||||
// handle error
|
||||
console.log("保存失败")
|
||||
}
|
||||
})
|
||||
},
|
||||
onShareAppMessage: function () {
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<!--miniprogram/pages/previewTxtWork/previewTxtWork.wxml-->
|
||||
<view>"{{Title}}"</view>
|
||||
<view>
|
||||
<scroll-view scroll-y="true" style="width: 350px; height: 500px;">
|
||||
<text>{{list}}</text>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
<button bindtap="conPlaying">试听/暂停试听</button>
|
||||
<button bindtap="saveWork">保存作品</button>
|
||||
</view>
|
||||
<view class="section">
|
||||
<view class="section__title">添加BGM</view>
|
||||
<picker mode="multiSelector" class='asdas' bindchange="bindMultiPickerChange" bindcolumnchange="bindMultiPickerColumnChange" value="{{multiIndex}}" range="{{multiArray}}">
|
||||
<input value='{{multiArray[0][multiIndex[0]]}} {{multiArray[1][multiIndex[1]]}}'></input>
|
||||
</picker>
|
||||
</view>
|
||||
|
@ -0,0 +1 @@
|
||||
/* miniprogram/pages/previewTxtWork/previewTxtWork.wxss */
|
Loading…
Reference in new issue