基于媒体元数据的字符串变化值

时间:2014-04-01 04:32:57

标签: java string media-player metadata media

我有一个简单的媒体播放器,我需要在其中一个类中检索媒体的元数据。到目前为止,我已经成功提取了元数据,但是当我尝试使用这些值时,返回的字符串是空白的。

String album = "", artist = "", title = "", year = "";
...
public void addListItems(final Pane layout, final Stage stage, final Scene scene) {
    String[] sList = s.split("\\\\");
        try {
            Media media = new Media(new File(s).toURI().toURL().toString());
            media.getMetadata().addListener(new MapChangeListener<String, Object>() {
            public void onChanged(Change<? extends String, ? extends Object> arg0) {
                handleMetadata(arg0.getKey(), arg0.getValueAdded());
            }
            });
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        System.out.println(album); //Here, album returns as ""
        final Button lab = new Button(album + "--" + sList[sList.length - 1]);
}
...
public void handleMetadata(String key, Object value) {
    if (key.equals("album")) {
        album = value.toString(); //Here album returns as value.toString() correctly
    } else if (key.equals("artist")) {
        artist = value.toString();
    } else if (key.equals("title")) {
        title = value.toString();
    } else if (key.equals("year")) {
        year = value.toString();
    }
    }

我已经对这个主题进行了研究,但我看到的结果对我的情况没有帮助。我非常感谢任何帮助。

0 个答案:

没有答案