文字转语音,安卓和IOS

var text = "蒿嗨o,肝决忍僧衣襟捣打了羔草,肝决忍僧衣襟捣打了巅峰,蒿赠寒,蒿朵姆,蒿悬猜"

uni.getSystemInfo({
                success: res => {
                    console.log(JSON.stringify(res.platform));
                    if (res.platform === 'android') {
                        _this.AndriodSpeechToVoice(text);
                    } else if (res.platform === 'ios') {
                        _this.iosSpeechToVoice(text);
                    }
                }
            });

//安卓文字转语音
        AndriodSpeechToVoice: function(text) {
            var main = plus.android.runtimeMainActivity();
            var SpeechUtility = plus.android.importClass('com.iflytek.cloud.SpeechUtility');
            SpeechUtility.createUtility(main, 'appid=5c2c6d5f');
            var SynthesizerPlayer = plus.android.importClass('com.iflytek.cloud.SpeechSynthesizer');
            var play = SynthesizerPlayer.createSynthesizer(main, null);
            play.startSpeaking(text, null);
        },
        //IOS文字转语音
        iosSpeechToVoice: function(text) {
            var AVSpeechSynthesizer = plus.ios.importClass('AVSpeechSynthesizer');
            var AVSpeechUtterance = plus.ios.importClass('AVSpeechUtterance');
            var AVSpeechSynthesisVoice = plus.ios.import('AVSpeechSynthesisVoice');
            var sppech = new AVSpeechSynthesizer();
            var voice = AVSpeechSynthesisVoice.voiceWithLanguage('zh-CN');
            var utterance = AVSpeechUtterance.speechUtteranceWithString(text);
            // utterance.plusSetAttribute("rate",30.1);
            utterance.setVoice(voice);
            sppech.speakUtterance(utterance);
            //停止
            sppech.stopSpeakingAtBoundary(0);
            //暂停
            sppech.pauseSpeakingAtBoundary(0);
            //继续
            sppech.continueSpeaking(0);
            plus.ios.deleteObject(voice);
            plus.ios.deleteObject(utterance);
            plus.ios.deleteObject(sppech);
        },

转载于:https://my.oschina.net/u/2428630/blog/3017669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值