一般的印象中,Web的多媒体能力也许就是播放音/视频,其实,远不止于此。我们来看看Web应用可以使用哪些多媒体能力,实现什么样的多媒体功能。
1 本地媒体设备音/视频采集
js可以通过调用一组特定的APIs采集摄像头影像信息、麦克风音频信息。
相关的标准
Media Capture and Streams - 定义了一组 JavaScript APIs,通过这些APIs,页面可以请求本地的视频/音频。
Media Capture Depth Stream Extensions - 上一个标准的扩展,允许Web应用请求depth-only stream 或者 depth+color stream 。
depth信息包含了摄像头看到的物体到摄像头的距离信息,有了这样的信息,页端或Web应用可以把手势做为一种输入机制,可以对现实环境做3D建模,从而实现一些高级功能。
一些具体的应用,比如:沉浸式游戏体验,3D视频会议,增强现实等。
2 远程播放控制
简单的讲,就是在Web页面上实现一个类似遥控器的东东,通过这个遥控器来控制媒体在远程设备上的播放。
远程设备:例如连接的TVs,放映机,扬声器等。这些设备通过有线技术(HDMI,DVI等)和无线技术(Miracast, Chromecast, DLNA, AirPlay, or similar)连接到设备,使得Web可见。
Remote Playback API - 定义了一组可以在Web页面对远程媒体播放进行控制的APIs。
具体的应用,比如:页端视频投屏到DLNA电视上播放。
3 媒体播放控制
通过给<video>设置不同的属性,可以对播放行为进行控制,比如自动部分,静音,循环播放,预载入等。
为了降低电源消耗,设置了autoplay和muted的<video>只有在它变得可见的时候才会开始播放,不可见的时候会暂停播放。
自动播放的行为可能随著内核版本的变化而变化
4 定制媒体通知
Media Session API – 通过这个API,我们显示一条关于Web正在播放的媒体通知信息。
类似这样: