收藏
回答

发现大Bug,请看一下。语音合成,重复播放问题?

问题类型 插件 AppID 插件版本号 AppID 微信版本 基础库版本
Bug wx069ba97219f66d99 0.3.5 wxee1afd68ceca5c87 8.0.50 3.5.3

使用textToSpeech文字转语音,后用getBackgroundAudioManager播放,会一直重复播放

// packageA/pages/csDemo/csDemo.js
const plugin = requirePlugin('WechatSI')


const innerAudioContext = wx.getBackgroundAudioManager();
Page({


    /**
     * 页面的初始数据
     */
    data: {
        mapContext: ""
    },


    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // 监听语音结束错误
        innerAudioContext.onError((error) => {
            console.log('error');
            console.log(error);
        })
    },


    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {


    },


    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
    },


    clickHandle() {
        var that = this;
        let playContent = "信息播报功能已关闭!"
        plugin.textToSpeech({
            lang: "zh_CN",
            tts: true,
            content: playContent,
            success: function (res) {
                that.yuyinPlay(res.filename + '&key=' + Math.random(), playContent);
            },
            fail: function (res) {
                wx.showToast({
                    title: '语音合成错误!',
                    icon: 'none',
                    duration: 2000
                })
            }
        })
    },
    //播放语音
    yuyinPlay: function (src, playContent) {
        if (src == '') {
            return;
        }
        innerAudioContext.title = playContent
        innerAudioContext.src = src //设置音频地址
        innerAudioContext.play(); //播放音频
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {


    },


    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {


    },


    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {


    },


    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {


    },


    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {


    }
})
回答关注问题邀请回答
收藏

1 个回答

  • 之昂张
    之昂张
    09-02

    主要是使用 getBackgroundAudioManager 进行播放就会出这个问题。用 createInnerAudioContext 播放就没有这个问题。有一段时间了都没人处理

    09-02
    有用
    回复
登录 后发表内容