项目场景:
实现数字人自动语音播报。
使用的是微软的Speech SDK TTS
问题描述
在浏览器中可以实现语音播报,到hybrid手机端无法自动播报。
在手机端可以通过主动点击等可以实现语音播报。
原因分析:
1.认为是微软Speech SDK不支持,但在手机上执行TTS的Demo运行没问题,可以正常播报。排除。
2.由于浏览器策略,浏览器不允许自动播报音视频媒体。
浏览器为了提高用户体验,减少数据消耗,chrome浏览器在18年4月起,就在桌面浏览器全面禁止了音视频的自动播放功能,无用户交互的情况下js调用play也被禁用。
解决方案:
打开浏览器权限,配置webview的自动播报允许。
允许网页自动播放iOS WKWebView配置
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
config.allowsInlineMediaPlayback = YES;
config.mediaPlaybackRequiresUserAction = false;
displayWebView=[[WKWebView alloc] initWithFrame:rect configuration:config];
displayWebView.UIDelegate=self;
displayWebView.navigationDelegate=self;
更新完app 再次尝试就可以自动播报啦~