网络媒体技术
多年来,Web 呈现、创建和管理音频、视频和其他媒体的能力不断增强。如今,有大量可用的 API、HTML 元素、DOM 界面和其他功能,这些功能不仅可以执行这些任务,而且可以将媒体与其他技术结合使用来完成真正非凡的事情。本文列出了各种 API 以及可能有助于你掌握它们的文档链接。
¥Over the years, the Web's ability to present, create, and manage audio, video, and other media has grown at an increasing pace. Today, there are a large number of APIs available, as well as HTML elements, DOM interfaces, and other features that make it possible to not only perform these tasks, but use media in tandem with other technologies to do truly remarkable things. This article lists the various APIs with links to documentation you may find helpful in mastering them.
参考
HTML
这些文章涵盖了媒体开发者的 HTML 功能。
¥These articles cover HTML features for media developers.
<audio>
-
<audio>
元素用于在 Web 上下文中播放音频。这些可以无形地用作更复杂媒体的目的地,或者与用户控制的音频文件播放的可见控件一起使用。可从 JavaScript 作为HTMLAudioElement
对象进行访问。 <video>
-
<video>
元素是 Web 上下文中视频内容的端点。它可用于呈现视频文件,或作为流视频内容的目的地。<video>
还可以用作将媒体 API 与其他 HTML 和 DOM 技术链接的方式,例如包括<canvas>
(用于帧抓取和操作)。可从 JavaScript 作为HTMLVideoElement
对象进行访问。 <track>
-
HTML
<track>
元素可以放置在<audio>
或<video>
元素内,以提供对播放媒体时要使用的 WebVTT 格式字幕或字幕轨道的引用。可从 JavaScript 作为HTMLTrackElement
对象进行访问。 <source>
-
HTML
<source>
元素在<audio>
或<video>
元素中使用,以指定要呈现的源媒体。可以使用多个源来提供不同格式、大小或分辨率的媒体。可从 JavaScript 作为HTMLSourceElement
对象进行访问。
APIs
- 媒体功能 API
-
媒体功能 API 允许你确定你的应用或网站运行的设备的编码和解码功能。这使你可以实时决定使用什么格式以及何时使用。
- 多媒体捕获和流 API
-
API 的参考,可以在本地和通过网络流式传输、记录和操作媒体。这包括使用本地摄像头和麦克风来捕获视频、音频和静态图片。
- 媒体会话 API
-
媒体会话 API 提供了一种自定义媒体通知的方法。它通过提供元数据供用户代理显示你的 Web 应用正在播放的媒体来实现此目的。它还提供浏览器可用于访问平台媒体密钥的操作处理程序,例如键盘、耳机、遥控器上的硬件密钥以及通知区域和移动设备锁定屏幕上的软件密钥。
- 媒体流录制 API
-
MediaStream Recording API 允许你捕获媒体流以处理或过滤数据或将其记录到磁盘。
- Web 音频 API
-
Web 音频 API 允许你实时和预先录制的材料上生成、过滤和操作声音数据,然后将该音频发送到目的地,例如
<audio>
元素、媒体流或磁盘。 - WebRTC
-
WebRTC(网络实时通信)可以通过互联网在两个对等点之间传输实时音频和视频以及传输任意数据,而无需中介。
指南
¥Guides
- 在 HTML 中使用音频和视频
-
使用 HTML
<audio>
和<video>
元素的指南。 - 无障碍多媒体
-
在本指南中,我们介绍了网页设计师和开发者创建可供不同能力的人访问的内容的方法。其范围从在
<img>
元素上使用alt
属性到标题,再到为屏幕阅读器标记媒体。 - 网络媒体类型和格式指南
-
有关网络上图片、音频和视频媒体可用的文件类型和编解码器的指南。这包括对何种内容使用何种格式的建议、最佳实践(包括如何提供后备以及如何确定媒体类型的优先级),还包括每个媒体容器和编解码器的一般浏览器支持信息。
- 流式传输音频和视频
-
该指南涵盖了如何流式传输音频和视频,以及你可以利用的技巧和技术来确保流式的最佳质量和/或性能。
- 媒体和网络音频 API 自动播放指南
-
意外的媒体或音频自动播放可能会给用户带来不受欢迎的意外。虽然自动播放有其用途,但应谨慎使用。为了让用户对此进行控制,许多浏览器现在提供了自动播放阻止的形式。本文是自动播放指南,其中包含有关何时以及如何使用它以及如何与浏览器配合以优雅地处理自动播放阻止的提示。
- 网络音频空间化基础知识
-
在 3D 环境中(可能是渲染到屏幕上的 3D 场景,也可能是使用耳机体验的混合现实体验),执行音频以使其听起来像是来自其源方向非常重要。本指南介绍了如何实现这一目标。
其他主题
¥Other topics
可能感兴趣的相关主题,因为它们可以以有趣的方式与媒体 API 一起使用。
¥Related topics which may be of interest, since they can be used in tandem with media APIs in interesting ways.
- 画布 API
-
Canvas API 允许你在
<canvas>
中绘图,操作和更改图片的内容。这可以通过多种方式与媒体一起使用,包括将<canvas>
元素设置为视频播放或相机捕获的目标,以便你可以捕获和操作视频帧。 - WebGL
-
WebGL 在现有 Canvas API 之上提供了 OpenGL ES 兼容 API,使得在 Web 上制作强大的 3D 图形成为可能。通过画布,这可用于将 3D 图片添加到媒体内容中。
- WebXR
-
WebXR 取代了现已过时的 WebVR API,是一种为创建虚拟现实 (VR) 和增强现实 (AR) 内容提供支持的技术。然后,混合现实内容可以显示在设备的屏幕上或使用护目镜或耳机显示。
- WebVR Deprecated
-
Web 虚拟现实 API 支持 Oculus Rift 或 HTC Vive 等虚拟现实 (VR) 设备,使开发者能够将用户的位置和移动转换为 3D 场景中的移动,然后呈现在设备上。WebVR 已被 WebXR 取代,并且很快就会从浏览器中删除。