一个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还是性能方面,请在此处提交问题,让我知道。 -
错误
如果您遇到任何不应发生的情况,请在此处提交问题,描述错误以及如何重现它,并附上代码和预览(如果可能)。
附加信息
最初是出于好奇心而发起的一项挑战,现在它已成为一个我希望对许多人有帮助的软件包,而且在构建它的过程中确实很有趣。
在处理它的过程中学到了一些好东西,并且我希望将来能做得更多。
如果此软件包对您有所帮助,我将非常感谢您的点赞,这足以让我继续努力,如果您真的从中受益,请随时过来打个招呼。


















