嗨,我开发了一个基于开源C++项目的简单web服务器。在这个web服务器中,有很多wave文件,我想用HTML 5的标记来显示给web客户端。
我在html文件中添加了wave文件,如下面的示例,这些文件被发送到web浏览器。
<audio controls>
<source src = "sound.wav" type="audio/wave">
</audio> 但是现在我想知道web服务器如何处理标签,并在web客户端按play按钮时向web客户端发送流数据。
我需要在我的web服务器上从头开始实现它。
我读了很多帖子,但大多数只是处理客户端的问题。
我需要深入了解请求的服务器端是如何处理的。
诚挚的问候
发布于 2016-12-30 16:02:47
正如您在MDN文档https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio中所看到的那样
HTML元素用于在文档中嵌入声音内容。它可能包含一个或多个音频源,使用src属性或元素表示;浏览器将选择最合适的源。
当web客户端按下play按钮时,流不会发送给web客户端,而是在加载页面时发送(将网页中的所有媒体都包括在内),您可以使用以下属性来控制执行:
自动播放
一个布尔属性;如果指定了(即使值为"false"!),音频将在能够这样做时立即自动开始播放,而无需等待整个音频文件完成下载。
缓冲
可以读取的一个属性,用于确定媒体的哪些时间范围已被缓冲。此属性包含一个TimeRanges对象。
预压
此枚举属性旨在向浏览器提供一个提示,说明作者认为什么将导致最佳用户体验。它可能有以下值之一: none:表示不应该预加载音频;元数据:表示只获取音频元数据(例如长度);auto:指示可以下载整个音频文件,即使用户不需要使用它;空字符串: auto值的同义词。
发布于 2017-11-30 23:38:38
我打赌你已经知道了。为了提供音频流,有流协议。一个是ShoutCast,这里有一个很好的Python示例。
https://stackoverflow.com/questions/41398987
复制相似问题