2 liaoxiang1987 liaoxiang1987 于 2013.05.08 15:33 提问

android unity3d游戏中 音乐播放时状态

一个unity3d游戏在运行,我想通过自己写的一个apk去获取当前它这个游戏播放音乐时状态,其中主要是暂停状态,有没有人涉及过啊?能不能借到某个特定的广播消息或有某些接口来获取?

2个回答

Kill_it
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
liaoxiang1987 这些消息都没有效果哦,我其实在想,难道unity3d是没有任何广播发送到android中么
4 年多之前 回复
Chengzi_963
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 类中有很多专栏,找一找可能有你能用的。

Csdn user default icon
上传中...
上传图片
插入图片