liaoxiang1987 于 2013.05.08 15:33 提问
- android unity3d游戏中 音乐播放时状态
-
一个unity3d游戏在运行,我想通过自己写的一个apk去获取当前它这个游戏播放音乐时状态,其中主要是暂停状态,有没有人涉及过啊?能不能借到某个特定的广播消息或有某些接口来获取?
-
- Kill_it 2013.05.08 15:37
我看到了你以前提的问题,应该就和这个一样的吧。
试试看监听广播的元数据。
参考代码:
iF.addAction("com.android.music.metachanged");
iF.addAction("com.htc.music.metachanged");
iF.addAction("fm.last.android.metachanged");
iF.addAction("com.sec.android.app.music.metachanged");
iF.addAction("com.nullsoft.winamp.metachanged");
iF.addAction("com.amazon.mp3.metachanged");
iF.addAction("com.miui.player.metachanged");
iF.addAction("com.real.IMP.metachanged");
iF.addAction("com.sonyericsson.music.metachanged");
iF.addAction("com.rdio.android.metachanged");
iF.addAction("com.samsung.sec.android.MusicPlayer.metachanged");
iF.addAction("com.andrew.apollo.metachanged");
-
- liaoxiang1987 这些消息都没有效果哦,我其实在想,难道unity3d是没有任何广播发送到android中么
- 接近 5 年之前 回复
-
- Chengzi_963 2013.05.08 15:46
这是以前用过的,用来获取音频文件的metadata:
String scheme = mAudioUri.getScheme();
String title = "";
String artist = "";
if(scheme.equals("content")) {
String[] proj = {MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST};
Cursor cursor = this.getContentResolver().query(mAudioUri, proj, null, null, null);
if(cursor != null && cursor.getCount() > 0) {
cursor.moveToFirst();
if(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE) != -1) {
title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));
artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
}
}
}
在MediaStore.Audio.Media 类中有很多专栏,找一找可能有你能用的。
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!