Libgdx获得音乐的持续时间

时间:2014-01-06 02:11:25

标签: java time libgdx

我试图在libgdx中获取音乐的持续时间

谈论:

getPosition();

我想要的是音乐的持续时间。 (以秒为单位)

由于

3 个答案:

答案 0 :(得分:7)

要明确“持续时间”,您的意思是音乐在没有循环的情况下播放的总时间。

我不认为Libgdx声音API会暴露这一点(跨桌面,Android和Web的最低标准声音A​​PI相当低......)。

你可能能够从你加载到系统中的文件中获取这些信息(例如,如果它们是wav或mp3文件,那么应该有API来查询它们的持续时间。)

答案 1 :(得分:3)

这是一个老问题,但我将为未来的访客提供答案

要获取音乐文件的持续时间,您可以使用gdx-audio扩展名。

    FileHandle file=Gdx.files.internal(filepath);
    FileHandle external=Gdx.files.external("mygame/"+filepath);
    if(!external.exists())file.copyTo(external); //copy the file to the external storage 
    Mpg123Decoder   decoder = new Mpg123Decoder(external);
    System.out.println("name:"+filepath+"  duration:"+decoder.getLength());

答案 2 :(得分:-2)

如果你希望在你想要的时候使用

来停止音乐
music.stop(); 

或暂停音乐

music.pause(); 

或其他任务请参阅此链接https://github.com/libgdx/libgdx/wiki/Streaming-music