gpt4 book ai didi

android - 将 AudioTrack 流与节拍器的 UI 同步

转载 作者:行者123 更新时间:2023-12-03 01:54:03 25 4
gpt4 key购买 nike

我正在尝试制作节拍器应用程序,我从 BeatKeeper 借用了核心代码应用程序/github 存储库。当节拍器播放节拍时,我在尝试同步 UI 时遇到问题。 BeatKeeper repo 试图解决这个问题,但解决方案不足。我也尝试了几种方法,但没有任何效果。

我正在使用 AudioTrack 类来编写音频(这是一个小鼓声)。音频是从 wav 文件导入的。给定每分钟的节拍,我计算应该写入的军鼓样本数,然后用 0 填充剩余的样本(表示静音)。因此,对于每个节拍,我都会向 AudioTrack 写入军鼓样本,然后是静音样本。编写小鼓样本后,我向 UI 线程发送一条消息(使用处理程序),该线程更新当前节拍的 TextView。然而,两者并不同步。

有谁知道如何做到这一点?我已经反编译了一些完美的节拍器应用程序(Mobile MetronomeMetronome Beats)。通过他们的代码,我发现了 AudioTrack 的导入,所以我假设这可以通过 AudioTrack 实现。

我创建了一个非常简单的应用程序/github 存储库来共享代码。 Metronome类是魔法发生的地方。我还创建了一个 branch并尝试使用 AudioTrack 的 NotificationMarkerPosition 来确定何时更新 UI。使用监听器,我使用当前的头部位置并在每次事件发生时添加一个新标记以获取永久节拍事件。然而,这种尝试在几次节拍后开始漂移并且也下车了。我什至试图解释漂移并纠正它,但这也不起作用。

我知道通常习惯于在问题中发布代码,但对我来说, repo 似乎更实用。如有必要,尽管我可以发布代码。对于制作与 UI 同步的节拍器的任何帮助/建议或替代方法,我将不胜感激。

最佳答案

这个项目怎么样?
https://github.com/felixpalmer/android-visualizer

它使用 Visualizer作为核心。

关于android - 将 AudioTrack 流与节拍器的 UI 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com