在波形上显示波形文件播放进度的最佳方式

Posted

技术标签:

【中文标题】在波形上显示波形文件播放进度的最佳方式【英文标题】:Best way to display progress of wave file playback on waveform 【发布时间】:2013-07-31 21:52:31 【问题描述】:

我有一个播放 mp4 视频并使用视频的音轨绘制其波形的程序。我如何最好地表示波形图的进度(每秒有两个样本),因为它与视频保持同步?

我希望波形和我用来在波形图上表示当前时间的任何内容与使用我已实现的时间轴和媒体时钟播放的视频保持同步。

其他程序通过对已播放的区域进行阴影来表示它,或者通过保持波形移动的条来表示当前时间。我需要一些帮助来决定实施哪个以及从哪里开始实施。

如果我不清楚,我很乐意澄清问题,请告诉我。

我正在使用 C# 编写 WPF 程序,同时使用 Naudio。

【问题讨论】:

【参考方案1】:

嗯,由你决定,你认为哪个看起来最好。更容易实现的是波形顶部的光标,因为您可以在播放时移动它。

如果您想在波形的早期部分进行着色,很大程度上取决于您如何实现波形绘制。如果它是基于一系列垂直线,那么您可以在当前播放时间之前更改线条的颜色。但是,如果您将波形构造为多边形,那么它会更难。您可以使用一些巧妙的技巧,例如绘制一个矩形并告诉 WPF 根据波形对其进行剪辑,但通常您会发现使用垂直线绘制方法更容易。

【讨论】:

“在波形顶部实现光标”是什么意思?我希望波形与正在播放的视频同步移动。并且需要以某种方式表示视频与波形上的一个点同步。我理解在播放时改变线条颜色的想法。现在我正在使用点集合中的点列表并分配给折线。我的想法是检查“时钟时间无效”方法的时间,并根据当前时间在波形中将一部分遮蔽到给定点。感谢您的帮助@MarkHeath 好的,我的意思是一个顶部有移动光标的静态波形。它通常是最容易实现的。

以上是关于在波形上显示波形文件播放进度的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

Android 自定义View - 柱状波形图 wave view

那种边播放音乐边把音乐的波形显示出来的软件叫啥?

QT5 如何用两个事件作画?

在linux中播放波形文件[关闭]

为所有浏览器和移动网络浏览器 javascript 播放波形文件

如何在 Flash 中创建一个音乐播放器来创建音频文件的波形?