我编写了一个简单的HTML代码,用于在iPhone上使用HTML5音频标签播放音频文件。
<audio controls="controls" autoplay="autoplay">
<source src="http://192.168.1.130/ab.wav>" type="audio/wav" preload="auto"/>
Your browser does not support the audio element.
</audio>
上面的代码在safari上运行得非常好。当我将源URL从HTTP更改为HTTPS时会出现问题。
我开始收到“此电影无法播放”错误消息。
我使用的证书链如下:
VeriSign试用安全服务器根CA - G2 - &gt; VeriSign试用安全服务器CA-G2 - &gt; UCBU-爱瑞森特-VM200
默认情况下,Safari CA(以上)的证书不可用。
因此,我已将证书颁发机构的证书(Root和Intermediate)附加到电子邮件中,然后通过单击电子邮件中的附件将其添加到IPhone中。
但是当我创建一个TCP会话来传输WAV文件时,我仍然看到SSL握手失败。
注意:创建TCP会话以从服务器获取HTML文件时,SSL握手会成功。我比较了HTML和WAV文件场景的SSL握手的网络数据包,两者都是相同的。
答案 0 :(得分:2)
上面提到了ceejoyez和OP再次提到(谢谢你们两个!),但我几乎错过了它,因为它不是一个真正的答案:
如果您通过https提供内容,则需要拥有有效的证书,否则它将无法在iOS设备上播放(或在Mac上的Safari上播放)。
有关相关问题,请参阅here。