在Android中获取当前播放音频的元数据
问题描述:
我已经创建了一个应用程序,通过FROYO中的mediaPlayBackService获取当前播放音频的元数据。在Android中获取当前播放音频的元数据
现在,当我在GingerBread SDK上尝试它时,mediaPlayBackService将作为本地服务而崩溃。
有没有什么办法可以用这个服务绑定,或者我可以通过其他方式获得当前播放音频的META。
感谢,
Swapnil
答
我发现了一个解决方案,使当前播放的歌曲的元数据。
为获得元数据,
创建具有下列行为一个意图过滤器: PLAYSTATE_CHANGED META_CHANGED PLAYBACK_COMPLETE
以上的IntentFilter
-
在的onReceive函数,我们将注册申请获得捆绑如下:
Bundle bundle = intent.getExtras();
-
此捆绑包将包含新/更改的元数据。我们可以得到的TrackID像
long trackId = (Long) bundle.get("id");
随着轨道ID的帮助下,我们可以查询数据库并获取正在播放的音频文件的其他细节。 (我没有测试过,但同捆应该给音频文件的其他属性也是如此)
唯一的问题是,如果音频文件已经被播放(即开始我们的应用程序之前),我们不会得到我们的应用程序开始任何广播,因此NO MetaData可用,在下一次音频更改时,我们将获得更新的值。
希望这有助于所有人都在寻找相同的东西。
感谢, Swapnil
有没有,你可以分享你如何做,作为即时通讯寻求做同样的事情什么办法? – Peter