Pub.dev Badge
MIT License Badge

一个UI库,可以轻松地为您的应用程序添加音频波形,并提供多种自定义选项。

功能

您可以使用以下可用的波形类型。

  • 多边形
  • 矩形
  • 波浪形



需要在波形中添加渐变?没问题!您将获得此功能以及其他自定义选项。












想要开箱即用的音频活动轨道吗?
您也得到了!



入门

该软件包使您能够添加波形并对其进行自定义。
它主要是一个波形UI库,并具有显示活动轨道播放音频的附加功能。

因此,由您提供绘制波形所需的必要音频数据。
我们需要的数据基本上是表示该音频的点/样本列表。

您可以使用此 audiowaveform 程序 来获取 音频json文件,该文件将为我们提供样本。
在您的计算机上安装此程序后,请使用终端中的此命令为音频生成json文件。

audiowaveform -i test.mp3 -o test.json

生成的数据需要遵循一些规则进行处理,这些规则对于正确绘制波形是必需的。要处理数据,请使用 此处理器

一旦有了经过处理的数据点列表,就可以将其传递给任何可用的波形并开始使用它们。

用法

所有可用波形的使用方法相同,唯一例外的是不同波形具有更多/更少的自定义选项。

 PolygonWaveform( 
   maxDuration: maxDuration,
   elapsedDuration: elapsedDuration,
   samples: [],
   height: height,
   width: width, 
 )

 RectangleWaveform(
   maxDuration: maxDuration,
   elapsedDuration: elapsedDuration,
   samples: [],
   height: height,
   width: width,
 )

 SquigglyWaveform(
   maxDuration: maxDuration,
   elapsedDuration: elapsedDuration,
   samples: [],
   height: height,
   width: width,
 )

在此处查找详细的 示例

属性

maxDuration:

音频的最大持续时间。

elapsedDuration:

音频的已用时长。

samples:

音频数据样本列表。

请参阅“入门”部分,了解如何生成此文件。

高度 :

波形高度。

width :

波形宽度。

自定义选项

inactiveColor :

非活动波形的颜色。

activeColor :

活动波形的颜色。

inactiveGradient :

非活动波形的渐变。

activeGradient :

活动波形的渐变。

absolute :

绘制的波形是单侧的,位于x轴上方或下方,具体取决于`invert`的设置。

默认为false

invert :

将波形上下翻转。

默认为false

borderWidth :

波形周围边框的宽度。

仅适用于RectangleWaveform

strokeWidth :

波形笔触宽度。

仅适用于SquigglyWaveform

inactiveBorderColor:

非活动波形的边框颜色。

仅适用于RectangleWaveform

activeBorderColor:

活动波形的边框颜色。

仅适用于RectangleWaveform

showActiveWaveform:

是否显示活动波形。

默认为true

更多自定义选项即将推出!

贡献指南

  • 功能请求
    如果您有任何可能使此软件包受益的新功能,请在此处提交问题,让我知道。

  • 改进
    如果您对改进软件包有任何建议,无论是API还是性能方面,请在此处提交问题,让我知道。

  • 错误
    如果您遇到任何不应发生的情况,请在此处提交问题,描述错误以及如何重现它,并附上代码和预览(如果可能)。

附加信息

最初是出于好奇心而发起的一项挑战,现在它已成为一个我希望对许多人有帮助的软件包,而且在构建它的过程中确实很有趣。

在处理它的过程中学到了一些好东西,并且我希望将来能做得更多。

如果此软件包对您有所帮助,我将非常感谢您的点赞,这足以让我继续努力,如果您真的从中受益,请随时过来打个招呼

GitHub

查看 Github