我试图在libgdx中获取音乐的持续时间
我不谈论:
getPosition();
我想要的是音乐的持续时间。 (以秒为单位)
由于
答案 0 :(得分:7)
要明确“持续时间”,您的意思是音乐在没有循环的情况下播放的总时间。
我不认为Libgdx声音API会暴露这一点(跨桌面,Android和Web的最低标准声音API相当低......)。
你可能能够从你加载到系统中的文件中获取这些信息(例如,如果它们是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