javascript - 如何在 JavaScript 中从视频构建音频可视化器
问题描述
我正在开发一个包含音频播放列表的项目,此外我还必须构建一个音频可视化器。如果源是音频,我对如何执行此操作有一个粗略的想法。问题是,源是一个m3u8
,我正在使用Hls.js
一个HTML 5
视频标签来实现一个 HTTP 实时流。我的目标是构建一个支持 HTTP Live Streaming 并且可以显示可视化的音频播放器。最好的方法是什么?
提前致谢。
解决方案
希望它会有所帮助
> let video = document.getElementById('videoId'); let audioContext = new
> AudioContext();
>
> const UsrAg = navigator.userAgent; var stream = null; if
> (UsrAg.indexOf('Firefox') > -1) { stream = video.mozCaptureStream(); }
> else { stream = video.captureStream(); }
>
> var audioSrc = audioContext.createMediaStreamSource(stream) const
> analyser = audioContext.createAnalyser(); audioSrc.connect(analyser);
> analyser.fftSize = 256; const bufferLength =
> analyser.frequencyBinCount; const frequencyData = new
> Uint8Array(bufferLength);
>
>
> function renderFrame() { requestAnimationFrame(renderFrame);
> analyser.getByteFrequencyData(frequencyData); that.setState({
> frequencyData: frequencyData }); } renderFrame();
推荐阅读
- c# - C# Parallel Array,我不明白为什么 zipFound 是 bool zipFound = false; 任何人都可以向我解释谢谢:)
- java - 在使用 jooq 与 hstore 合并的重复键上
- laravel - 在 laravel 中访问表数据透视表
- faunadb - 如何从动物数据库中的文档中删除特定元素?
- linux - 如何在linux bash中删除除最后5个按日期排序的所有文件
- javascript - 如何在 Youtube 中获取授权令牌?
- html - 角度 1.5
- c# - 无法将 HttpResponseMessage 反序列化为模型对象
- performance - Cassandra - 单节点单表批量插入性能不佳
- c# - ILGenerator:如何生成一个 Func<> 作为参数传递