如何在Java中使音量降低动画

问题描述 投票:0回答:1

我正在开发一个音乐播放器,我差不多完成了。但我需要尝试一些东西,因为我已经看到有更多的商业音乐应用程序在播放音乐时使用不同类型的动画来上下音量。

我需要这样的东西,


我怎样才能做到这一点?有谁能够帮我?先感谢您。

java swing animation volume javasound
1个回答
0
投票

如果您通过SourceDataLine输出音频,则可以在处理音频数据时检查音频数据。在Oracle Sound Trail教程中,有一个有用的代码示例,在Using Files and Format Converters页面的“读取声音文件”部分。代码中的重点标有注释“// Here, do something useful

此时,您可以将字节转换为音频值,并将这些值用作RMS计算的一部分。应该可以搜索coversion和RMS计算的详细信息 - 我知道我已经在stackoverflow上看到了两者的解释。

一旦计算出RMS值,就可以将其发送到处理图形可视化的独立线程。应采用松散耦合模式,以便最大限度地减少音频线程上的工作量,从而避免任何可能导致音频挂起的阻塞。

例如,可视化线程可以具有setRMSValue方法,该方法仅更新实例变量,而无需同步或阻止任何排序。音频处理线程可以在生成新的RMS数据点时自由调用此方法。可视化工具可以以动画速率同时读取当前实例变量。不需要synchronization。如果可视化线程跳过几个RMS数据点,那应该不是问题。

© www.soinside.com 2019 - 2024. All rights reserved.