背景
近年来,随着互联网用户群体的不断扩大,人们对于数字化产品和服务的需求也日益增长。然而,随之而来的是数字化产品中存在的无障碍设计问题。在实际应用中,盲人、聋哑人、智障人等残障人士无法正常使用数字化产品,这为数字化产品的发展带来了一定的局限。因此,无障碍设计已经成为数字化产品设计的必要要求。其中,字幕服务是一种非常有效的无障碍。
什么是字幕服务
字幕服务是指为残障人士提供的语音转化成文字的功能,它将语音音频转换为一系列的文本,并在视频或直播流上显示这些文本。这使得聋哑人和听力障碍人群能够畅享音频和视频内容。在现代数字产品中,字幕服务可以很容易地集成并且是构建无障碍数字产品的关键要素之一。
如何实现字幕服务
前端技术发展迅猛,已经涵盖了实现字幕服务所需的各种工具和框架。以下是一个简单的实现过程:
步骤 1:音视频处理
在开始创建字幕服务之前,我们需要先将音频采集并将视频分离到字幕服务所需的格式,这是使用第三方音视频处理库的最佳方式。
------------- --- ---------- --- -------------- - ------ --- -------------- -------- ------- - -- ----- ------------------- ------- --------- - ---------------------- ---------------------------------- ------------- - --- ------------------------- -- - -------- -------- - -- ---------------- - ---------------------- - ---- - --------------------- - -
步骤 2:使用 Web Speech API 服务
Web Speech API 是一个完整的 JavaScript API,旨在使 Web 应用程序更具可访问性。几乎所有现代浏览器都支持该 API。要使用 Web Speech API ,您可以使用以下代码:
----- ----------- - --- -------------------------- ---------------- - -------- -------------------------- - ----- ---------------------- - ----- ------------------- - --------------- - ------------------------- - -------------------- - --------------- - -- ---------------------- --- ------------ - --- ---- - - ------------------ - - --------------------- ---- - -- -------------------------- - --------------- -- ------------------------------- - - ------------------- --------------------- - ---------------- - -
以上代码中,我们使用 webkitSpeechRecognition 创建了一个语音识别对象。然后,我们为 recoginiton 对象设置了语言(en-US)以及一些其他属性。识别结果可以使用 result 事件访问。当然,还有其他事件,例如 error 和 end。
步骤 3:显示字幕
最后,我们可以将识别到的文本显示在视频或者音频流上。这里我们可以使用原生 HTML 标签或者一些框架,例如 React 或 Vue。
---- ---------------------
--- --------- - ------------------------------------- -------------- -- - ------------------- - ---------------- -- ------
以上代码中,我们定期轮询 finalTranscript 文本并通过 innerText 将文本显示在 subtitles 标签上。
实际应用中的一些技巧
语言和口音要素。与任何语音识别服务一样,识别错误是一件常见的事情。特别是对于口音或非本地语言的使用者。尽管为服务中的语音和口音训练算法可以解决这个问题,但是您应该在集成之前先测试有效性,并准备固有的错误。
设计 UI/UX。在文本和字幕的可见性和可读性上花费额外的时间。可以至少包括调整字幕的字体大小和断行。验证字幕是否适合视频显示,以及内容是否易于阅读。这是一个容易被忽略的区域,但实际上这对您的用户的体验非常重要。
接口集成。大多数字幕服务都是使用 web api 的方式打包,所以跨不同平台的字幕服务整合都超级容易。只需浏览不同字幕服务的 api 参考文献。不同的字幕服务可能对需要集成的文件类型、数据格式、请求/响应大小等有所不同。因此,为每种集成分别进行文档阅读。
结论
字幕服务是一种实现无障碍设计的重要工具。通过将音频转换为文本并将其与视觉内容一起显示,我们可以帮助听力障碍人士,盲人和第二语言的使用者消除一些数字产品中的限制。在实际应用中,正确认识这一技术并掌握一些实际技巧,可以使你更好地构建数字化产品并获得更好的用户体验。
参考文献:
Creating Accessible Video Captions with JavaScript
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672301082e7021665e0dc25a