跟踪当前正在播放的音乐信息 [英] Track info of currently playing music
本文介绍了跟踪当前正在播放的音乐信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我执行有关获取当前的音乐曲目信息的应用程序。
I am implementing an application related to getting current music track information.
我使用下面的code来获取:
I am using the following code to get that:
public class CurrentMusicTrackInfoActivity extends Activity {
public static final String SERVICECMD = "com.android.music.musicservicecommand";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IntentFilter iF = new IntentFilter();
iF.addAction("com.android.music.metachanged");
iF.addAction("com.android.music.playstatechanged");
iF.addAction("com.android.music.playbackcomplete");
iF.addAction("com.android.music.queuechanged");
registerReceiver(mReceiver, iF);
}
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
String cmd = intent.getStringExtra("command");
Log.v("tag ", action + " / " + cmd);
String artist = intent.getStringExtra("artist");
String album = intent.getStringExtra("album");
String track = intent.getStringExtra("track");
Log.v("tag", artist + ":" + album + ":" + track);
Toast.makeText(CurrentMusicTrackInfoActivity.this, track, Toast.LENGTH_SHORT).show();
}
};
}
这是工作的罚款只有一些手机。我想实现code以获得在所有Android设备当前的音乐曲目信息(如HTC和三星的设备)。
It is working fine for some mobiles only. I want to implement code to get current music track info in all Android devices (e.g. HTC and Samsung devices).
有没有办法这样做的?
推荐答案
这可能会有帮助。我用这个来得到的音频文件元数据在我的应用程序之一:
This might help. I use this to get metadata on audio files in one of my apps:
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类栏目,你可以用它来找到你要找的东西我想到的。
There are lots of columns in the MediaStore.Audio.Media class which you can use to find what you're looking for I think.
这篇关于跟踪当前正在播放的音乐信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文