我已经创建了一个应用程序,可以在FROYO的mediaPlayBackService的帮助下获取当前播放音频的METADATA。
现在,当我在GingerBread SDK上尝试它时,它会崩溃,因为mediaPlayBackService是本地服务。
我有什么方法可以使用此服务或以其他方式绑定当前播放音频的META。
谢谢,
Swapnil
答案 0 :(得分:0)
我找到了一个获得当前播放歌曲的METADATA的解决方案。
获取元数据
使用以下操作创建Intent过滤器: PLAYSTATE_CHANGED META_CHANGED PLAYBACK_COMPLETE
使用上述IntentFilter
在onReceive函数中,我们将获得如下的包:
Bundle bundle = intent.getExtras();
此捆绑包将包含新的/已更改的MetaData。我们可以像
一样获得TrackIDlong trackId = (Long) bundle.get("id");
借助曲目ID,我们可以查询数据库并获取正在播放的音频文件的其他详细信息。 (我没有测试,但同一个包也应该给出音频文件的其他属性)
唯一的问题是,如果音频文件已经播放(即在开始我们的应用程序之前),我们将不会在我们的应用程序启动时获得任何广播,因此没有MetaData可用,在下一次音频更改时我们将获得更新的值。
希望这能帮助所有寻找相同内容的人。
谢谢, Swapnil