访问安卓媒体流以进行音频可视化
基本上,我想做一个音频可视化工具。我知道这是可能的,因为我的手机附带了一些动态壁纸来做到这一点。问题是,我似乎不知道如何使用Android API来做到这一点。
我的应用将选取当前正在播放的媒体流,然后根据当时正在播放的音量,它将在屏幕上显示或多或少的条形。
我该怎么做?看起来我可以使用麦克风做这样的事情,但我希望能够为音乐,播客等做这件事。
基本上,我想做一个音频可视化工具。我知道这是可能的,因为我的手机附带了一些动态壁纸来做到这一点。问题是,我似乎不知道如何使用Android API来做到这一点。
我的应用将选取当前正在播放的媒体流,然后根据当时正在播放的音量,它将在屏幕上显示或多或少的条形。
我该怎么做?看起来我可以使用麦克风做这样的事情,但我希望能够为音乐,播客等做这件事。
看起来在2.3中,这里的事情发生了变化,现在有权限了
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
aosp中有一个AudioCapture助手类,可以帮助动态壁纸正确完成。https://android.googlesource.com/platform/packages/wallpapers/MusicVisualization/+/gingerbread-release/src/com/android/musicvis/AudioCapture.java
编辑:
AOSP 中的某个导入与公共 API 不匹配。import android.media.audiofx.Visualizer;
是的import android.media.Visualizer;
如果它给人头痛,请确保切换。这都是2.3 api,它显然为可视化返回低分辨率音频流,但不足以录制。