No more than code.
小程序图片处理&pdf预览&文本转语音播放
PDF预览
// 方法一
readPdf () {
wx.downloadFile({
url: 'https://aa.pdf',
success: function (res) {
const filePath = res.tempFilePath
wx.openDocument({
filePath: filePath,
showMenu: true,// 显示右上角菜单,设置此项可以发送给朋友/收藏
success: function (res) {
console.log('打开文档成功')
}
})
}
})
}
// 方法二
<web-view src="https://aa.pdf"></web-view>
图片处理
本地图片路径转base64
/**
* 本地图片路径转base64
* @param {String} filePath 图片本地路径
* @returns
*/
const imgToBase64 = (filePath) => {
return new Promise((resolve, reject) => {
wx.getFileSystemManager().readFile({
filePath: filePath,
encoding: 'base64',
success (res) {
resolve(res.data)
// resolve('data:image/png;base64,' + res.data)
},
fail (res) {
reject(res)
}
})
})
}
文本转语音播放
// app.json
"plugins": {
"WechatSI": {
"version": "0.3.4",
"provider": "wx069ba97219f66d99"
}
}
// 使用
const plugin = requirePlugin('WechatSI')
const manager = plugin.getRecordRecognitionManager()
/**
* 文本转语音
*/
textToSpeech () {
const that = this
plugin.textToSpeech({
lang: 'zh_CN',
tts: true,
content: '本人声明:易鑫的或合作经销商的工作人员已向我详细解释且我已阅读、理解并同意融资租赁合同条款、融资租赁关系及本确认函内容,知晓并愿意承担每一项费用、支付及金额、确认签署的融资租赁合同非借款合同。',
success: function (res) {
console.log('succ tts', res.filename)
that.url = res.filename
that.text_audio_status()
},
fail: function (res) {
console.log('fail tts', res)
}
})
},
/**
* 用来监听文字转语音的播放情况
*/
text_audio_status: function () {
wx.setInnerAudioOption({
obeyMuteSwitch: false,
success () {
console.log('开启静音模式下播放音乐的功能')
},
fail () {
console.log('静音设置失败')
}
})
const innerAudioContext = wx.createInnerAudioContext()// 创建音频实例
innerAudioContext.src = this.url // 设置音频地址
// innerAudioContext.src = 'https://cdn.caomall.net/15290437711272352156.mp3' // 设置音频地址
innerAudioContext.play() // 播放音频
innerAudioContext.onPlay(() => {
console.log('监听开始播放')
})
innerAudioContext.onEnded(() => {
console.log('监听播报结束,可在结束中进行相应的处理逻辑')
innerAudioContext.stop()
// 播放停止,销毁该实例,不然会出现多个语音重复执行的情况
console.log('销毁innerAudioContext实例')
innerAudioContext.destroy()
})
innerAudioContext.onError(() => {
console.log('监听语音播放异常')
innerAudioContext.destroy()// 销毁播放实例
})
},