返回

安卓手机默认浏览器中无法获取 HTML <audio> 元素的持续时间

前端

作为一个技术博客作者,我不断探索互联网的细微差别,分享我对各种主题的独特见解。今天,我将深入探讨一个奇怪的现象,即在安卓手机的默认浏览器中无法获取 HTML

问题概述

在安卓手机的默认浏览器(例如 Chrome、Firefox 和 Edge)中,当尝试获取

这种差异给涉及音频播放的 Web 应用程序和网站带来了挑战。无法获取持续时间使得无法准确显示进度条或提供估计的播放时间。此外,它还会妨碍其他依赖音频持续时间的应用程序功能,例如创建波形图或生成可视化效果。

原因分析

经过深入调查,我们发现导致安卓手机默认浏览器中

  • 浏览器实现差异: 安卓手机默认浏览器对 HTML5 标准的实现存在差异,导致
  • 音频编解码器支持: 安卓手机支持的音频编解码器与 iOS 设备和桌面浏览器不同。这可能会影响持续时间的准确获取。
  • 媒体管道架构: 安卓设备上的媒体管道架构与其他平台不同,这可能会导致持续时间信息的延迟或丢失。

缓解措施

虽然无法完全解决此问题,但有一些缓解措施可以帮助开发人员解决安卓手机默认浏览器中的

  • 使用第三方库: existem bibliotecas de terceiros que fornecem acesso à duração do áudio, mesmo em dispositivos Android. Isso pode contornar as limitações do navegador padrão.
  • 使用其他 API: 某些安卓 API,例如 MediaMetadataRetriever,可以提供音频文件的持续时间信息。
  • 提供估计值: 如果无法获取准确的持续时间,开发人员可以提供一个估计值。这可以通过分析音频文件或使用其他启发式方法来实现。
  • 使用 Web Workers: Web Workers 可以在后台获取音频持续时间,从而避免浏览器主线程的限制。

结论

无法在安卓手机默认浏览器中获取 HTML