问题标签 [playback-rate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
127 浏览

android - 播放速率在高于输入 hz 时分块出现 - 点击声音

我的第一次音频实验,所以这可能不是最聪明的问题。但我正在尝试从麦克风录制音频并通过耳机或扬声器播放。并且将播放速率设置为 HZ 的一半效果很好,但将其设置为两倍会使音频听起来像是成块的。我假设没有足够的播放量,我玩了睡眠并扩大了记录缓冲区的大小,但没有成功。

有人知道我该如何解决这个问题吗?

我有一个 8000 的缓冲区,例如 hz=8000,而 pbhz=11025。

0 投票
1 回答
270 浏览

javascript - 网络音频 - 如何立即更改所有声音的播放率?

使用网络音频时,您可以将您创建的所有声音连接到一个全局创建的声音,gainNode并使用该节点来获得“主音量”属性。当您希望能够即时更改主音量并希望它立即影响所有声音时,这非常方便。

现在,我正在尝试完成同样的任务,但是对于playbackRate. 供参考:这适用于网页游戏,您可以在其中使用加电来减慢时间,这也应该减慢所有音乐和声音。

我创建的每个声音都AudioBufferSourceNode链接到一系列处理节点。现在我知道 theAudioBufferSourceNode本身具有playbackRate您可以更改的属性。这很棒,但是如果我想动态更改“全局播放速率” ,它需要我缓存AudioBufferSourceNodes我创建的所有内容,循环它们并更改它们。playbackRate如果我能以与 global 相同的方式完成此操作,那将是完美的gainNode,但找不到这样做的方法。

实现这种功能的正确方法是什么?你会推荐缓存所有AudioBufferSourceNodes创建的(可能是数千个)并循环它们吗?这就是我对 HTML5 音频执行此操作的方式,但对于更高级的 Web 音频来说,这似乎很麻烦。

如果您想了解更多信息,请询问,我会更新问题!

0 投票
0 回答
206 浏览

javascript - 使用javascript将播放速率设置为0.5x时,如何修复firefox上抖动的音频/视频?

我正在尝试设置一个实验,在该实验中我正在播放 .mp4 视频并使用基本 Javascript(无库)和 HTML5(Mac OSX 10.10.4)更改播放速率。当我将视频的播放速率更改为 0.5 倍时,虽然音频视频变慢了,但在 Firefox(版本 39.0.3)上音频听起来很紧张。这个问题在 Chrome(版本 44.0.2403.130,64 位)、Safari(版本 8.0.7)甚至 IE(版本 11+)上并不明显。有没有办法让我在使用 Firefox 时让这个视频的音频听起来不那么嘈杂?

回复

0 投票
1 回答
1607 浏览

c++ - 在 Qt 和 C++ 中改变 mp3 速度 [QMediaPlayer]

我正在尝试开发一个小应用程序,您可以在其中加载 mp3 文件并以可变速度播放它!(我知道它已经存在:-))

我正在使用 Qt 和 C++。我已经有了基本的播放器,但我对速率问题感到困惑,因为我想在不停止播放的情况下平滑地更改速率(就像在 Mixxx 中一样)!如果我更改值并在声音中产生间隙,QMediaPlayer 总是会停止。我也不希望音调改变!

我已经找到了一个叫做“SoundTouch”的东西,但现在我完全不知道如何处理它,如何处理我的 mp3 数据以及如何将它传送给播放器!“SoundTouch”库能够做我想做的事,我是从主页上的示例中得到的。

  • 如何导入 mp3 文件,以便使用 SoundTouch 功能对其进行处理
  • 如何播放 SoundTouch 功能的输出?(也许 QMediaPlayer 可以完成这项工作?)
  • 这些东西是如何现场完成的?我猜我必须做某种流?所以我可以在播放过程中改变速度并继续播放而没有间隙。在我的脑海中,它必须是位于数据和播放器之间的东西,所有数据都必须实时通过,后面有一个小缓冲区(20-50 毫秒左右),以避免在处理未来数据时出现间隙。

任何帮助表示赞赏!只要我可以继续使用 Qt/C++,我也愿意接受任何其他解决方案,然后是“SoundTouch”!

(第二件事:我想查看波形概览以及移动其中的一部分(围绕歌曲的实际位置),因此我还可以使用有关如何获取波形数据的提示)

提前致谢!

0 投票
0 回答
848 浏览

ios - 更改 AVPlayer 的播放速率会产生断断续续的音频

我在我的应用程序中使用 AVPlayer。我的应用程序支持改变音频和视频的播放速度。我正在按如下方式初始化播放器。

当我必须更改音频的播放速率时,我会执行以下操作

它工作正常。但最近当我改变 AVPlayer 的速率属性时,它开始产生断断续续的声音。我已经设置audioTimePitchAlgorithm

但它仍然会产生断断续续的声音。谁能告诉我我做错了什么,或者我必须做些什么来避免这种断断续续的声音并产生流畅的声音。

0 投票
1 回答
179 浏览

javascript - 如何在源代码中检查浏览器支持播放率?

我正在构建一个能够改变playbackRate 的视频控制器。但是,一些不支持playbackRate 函数的浏览器想要显示该消息。例如,“此浏览器不支持”。

有没有办法检查playbackRate 函数在JavaScript 中是否正常工作?

这是我尝试的方法:

然而,即使在不支持playbackRate 的浏览器上,实际的playbackRate 值也发生了变化,并且没有输出错误或消息。

我有什么办法吗?

我希望你能帮上大忙。

0 投票
1 回答
80 浏览

javascript - 视频已经播放时如何更改 HTML 视频播放速率?

我正在使用 Arduino/传感器生成的数据来改变 HTML 视频的播放速率。

要使用 JS 读/写 Arduino,我使用的是 Johnny-Five 模块。然后数据通过socket.io从本地服务器传输到我的浏览器客户端。

当我在浏览器中刷新 localhost 站点时,视频播放速率是 Arduino 在我刷新时发送的值。当我刷新后视频已经在播放时,以后对video.playbackRate(在我的情况下缩写为)所做的所有更改都不会对播放速率产生任何影响。video_pbr

有什么方法可以确保可以“实时”控制视频的播放速率,即使它已经开始了?

0 投票
1 回答
291 浏览

javascript - 如何通过按一下按钮将 HTML 范围滑块重置为默认位置和默认播放速率值

我是这里的新手,但尽我所能解决这个问题。

我可以使用范围滑块指定视频播放速度没问题,但是在更改滑块上的速度后,而不是手动将其推回原始值,我希望能够按下“重置速度”按钮并拥有滑块自动复位到它的原始位置和原始速度值“1”。我已经设法让滑块重置到它的起始位置,但它仍然保留改变的播放速度值。下面是我想出的代码。谁能帮我这个?谢谢!

0 投票
2 回答
66 浏览

javascript - 如何让 JS 为整个班级执行?

我的页面上有很多视频,我在视频上创建了额外的按钮来加速视频,如果我调用 getElementById,它就可以工作。是否可以对页面上的所有视频使用一种 Javascript?因为它大约是 80+,所以会有很多重复的 javascript 代码,因为我还必须制作按钮才能回到 1x 的速度

HTML 页面块看起来像这样。

在脚本区域下面我有以下内容:

所以变量 vid 以某种方式为页面上的每个视频或任何其他解决方法(如果有)定义。顺便说一句,视频结束后fireevent也不起作用,警报显示但不会关闭窗口。

0 投票
1 回答
187 浏览

python - QMediaPlayer setPlaybackRate > 1 导致高音音频

我正在创建一个在 PyQt5 中播放播客的应用程序。它从 URL 检索 MP3 并使用 QMediaPlayer 播放它。我遇到的问题是当我希望以更快的速度播放这些播客时。使用 setPlaybackRate(rate) 我在 1、1.25、1.5、1.75 和 2 之间更改速率。只要速率大于 1,声音就会变成高音花栗鼠的声音。

有没有办法解决这个问题?我使用的是 python-vlc,它在这方面工作得很好,但想切换到 QMediaPlayer 以删除 VLC 依赖项。我真的很感激任何帮助。