wzl16
wzl16
  • 发布:2018-04-29 11:41
  • 更新:2019-07-02 14:57
  • 阅读:2330

Android 8.1 讯飞文字转语音播报混乱

分类:HBuilder

var main = plus.android.runtimeMainActivity();
var SpeechUtility = plus.android.importClass('com.iflytek.cloud.SpeechUtility');
SpeechUtility.createUtility(main,"appid=5177d8fe");
var SynthesizerPlayer = plus.android.importClass('com.iflytek.cloud.SpeechSynthesizer');
var play = SynthesizerPlayer.createSynthesizer(main, null);
play.startSpeaking('没有花香,没有树高',null);

安卓版本8.1播报混乱,安卓6、7则没问题,使用的是Hbuilder是在线打包。

确认了是Android 8.1的调整所致,望官方及时更新讯飞最新SDK,详情见:http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=37009&highlight=r15

2018-04-29 11:41 分享
已邀请:
wzl16

wzl16 (作者)

官方现在都不打理论坛了吗,认真反馈bug,居然没有任何回应,失望。

距离您98米

距离您98米 - 哈哈

解决了吗?我也是这个bug

全村人的老司机

全村人的老司机 - 头像有缓存!不更新!你说气不气!

if(parseInt(ver) >= 8){ //判断安卓版本,大于8以上的走百度语音合成  
                            var timestamp = Date.parse(new Date());  
                            if(!plus.storage.getItem("oneTime")){  
                                getBaiDuToken(msg.content); //获取百度token  
                                plus.storage.setItem("oneTime",JSON.stringify(timestamp));  
                            }else{  
                                var oneTime = plus.storage.getItem("oneTime");  
                                if((parseInt(timestamp)-parseInt(oneTime)) > 24*60*60){ //因为token24小时后过期,重新获取一次  
                                    console.log("大于24小时");  
                                    plus.storage.setItem("oneTime",JSON.stringify(timestamp)); //大于24小时就更新,再次获取token  
                                    getBaiDuToken(msg.content); //获取百度token  
                                }else{  
                                    //小于24小时无需重新获取百度token  
                                    console.log("小于24小时");  
                                    baiduAubio(msg.content);  
                                }  
                            }  
                        }else{//讯飞语音合成  
                            var main = plus.android.runtimeMainActivity();  
                            var SpeechUtility = plus.android.importClass('com.iflytek.cloud.SpeechUtility');  
                            SpeechUtility.createUtility(main, "appid=你的ID");  
                            var SynthesizerPlayer = plus.android.importClass('com.iflytek.cloud.SpeechSynthesizer');  
                            var play = SynthesizerPlayer.createSynthesizer(main, null);  
                            play.startSpeaking(msg.content, null);  
                        }  

大神给出的解决方案 因为平台的原因 改用百度及讯飞混用的方案

3597933236@qq.com

3597933236@qq.com

这个问题从以前到现在都没处理过么

要回复问题请先登录注册