【问题标题】:Get FFT Data of Ringtone Played获取已播放铃声的 FFT 数据
【发布时间】:2013-10-31 12:02:40
【问题描述】:

是否可以根据在android手机上设置为铃声的歌曲的节拍在铃声上闪烁闪烁。如果可以,请给我提示。

【问题讨论】:

    标签: android


    【解决方案1】:

    是和不是。我曾经为设备的加速度传感器数据编写过 FFT。这是为了找出用户正在运行的步进频率。

    • 您可以在 Android 手机上进行 FFT。我为此使用了Apache Commons Math 库。

    • 最简单的起点是拥有 WAV 或 FLAC 音频文件,因为它们没有压缩等。您可以直接对它们进行 FFT。

    • 在我正在运行的应用程序中,为 512 个输入值计算一个 FFT 大约需要 1-2 秒(!),100% 使用 CPU 并相应地耗尽电池。所以我每分钟只做一次 FFT。

    我可以假设,当电话响起时,用户会看到这个:

    1. 指示灯不闪烁,仅在第一次查看时发出声音(在您执行 FFT 时)
    2. 与节拍频率但不同步的闪烁灯(您正在显示过去时间段的节拍)

    但我必须承认,我真的很喜欢这个主意。让我知道,当您使用您的应用程序时 :-)

    【讨论】:

    • 感谢您的建议,但我的问题有点不同:案例 1:当我有一首歌曲存在于 sd 卡或内存中时,我使用媒体播放器播放歌曲并获取 FFT 数据要播放的歌曲。但是当有人在Android手机上打电话时播放铃声,我想要Android播放的那首歌的FFT数据。案例2:我想创建一个应用程序,当有人打电话给我的手机时,我想随着铃声的节拍闪烁闪光灯。所以问题是如何获取我没有播放的歌曲的 FFT 数据,由 Android(铃声)播放。
    • 我认为对于案例 2 有一个很好且简单的方法。如果您从 here 到其他问题的链接到那里的答案。您可能会找到一种方法来记录 Android 当前播放的内容。对他说实话。它确实看起来太有希望了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多