【问题标题】:How to get song duration from currently playing track on other music player如何从其他音乐播放器上当前播放的曲目中获取歌曲时长
【发布时间】:2014-11-06 14:38:10
【问题描述】:

我需要获取在另一个应用程序上播放的当前曲目的歌曲详细信息。我可以通过捆绑附加服务获得以下详细信息,但持续时间除外。任何人请建议我如何获得持续时间

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

【问题讨论】:

  • 我认为我们需要更多细节。你要设置接收器吗?您的其他应用是否正在启动您的歌曲详情应用?
  • 是..广播接收器

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


【解决方案1】:

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

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

现在一切正常了:)

【讨论】:

    【解决方案2】:

    如果其他应用也由您处理,您可以使用您的 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();
    

    【讨论】:

      猜你喜欢
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      相关资源
      最近更新 更多