如何从其他音乐播放器上的当前播放曲目中获取歌曲持续时间

时间:2014-11-06 14:38:11

标签: android android-intent android-music-player

我需要在另一个应用上播放当前曲目的歌曲细节。除了通过捆绑附加功能的持续时间,我能够获得以下详细信息。有人请建议我如何获得持续时间

String artist = intent.getStringExtra("artist");
String album = intent.getStringExtra("album");
String track = intent.getStringExtra("track");
String time = intent.getStringExtra("duration");

2 个答案:

答案 0 :(得分:1)

是的,我们可以获得正在另一个应用程序上播放的当前曲目的歌曲持续时间。我找到了解决方案。

long milliseconds=intent.getLongExtra(MediaStore.Audio.AudioColumns.DURATION, 0);

现在工作正常:)

答案 1 :(得分:0)

如果您正在处理其他应用,您可以使用Intent设置持续时间数据,并可以在您的活动中访问Intent中的值。

MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever();
    metaRetriever.setDataSource(filePath);

String songDuration =  
  metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);

long duration = Long.parseLong(songDuration );
String seconds = String.valueOf((duration  % 60000) / 1000);

String minutes = String.valueOf(duration / 60000);

Sting time = "";

time = minutes + ":" + seconds;
  // close object
   metaRetriever.release();