hybrid手机端无法自动播报音频问题

博客讨论了在实现数字人自动语音播报时遇到的问题,即在浏览器中可以正常工作,但在iOS的hybrid手机端无法自动播放。原因是浏览器策略限制了自动播放音视频。解决方案是通过设置WKWebViewConfiguration,允许inline媒体播放并禁止在播放媒体时需要用户交互。配置后,更新应用即可实现自动播报。
摘要由CSDN通过智能技术生成

项目场景:

实现数字人自动语音播报。
使用的是微软的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 再次尝试就可以自动播报啦~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值