【问题标题】:How can I get the length of a javaFX audio clip in millis [closed]如何以毫秒为单位获取 javaFX 音频剪辑的长度 [关闭]
【发布时间】:2018-03-01 07:19:17
【问题描述】:

大家好,我想播放 JavaFX 音频剪辑,并在此音频剪辑完成所需的时间睡觉。我在 JavaFX AudioClip 中找不到任何方法

【问题讨论】:

    标签: audio javafx duration


    【解决方案1】:

    我认为AudioClip 不适合这样的事情,也许玩“真正的”Media 更适合这种情况。

    你可以试试这个(不是很优雅)的方法:只是睡觉,不时检查剪辑是否还在播放:

    AudioClip sound = new AudioClip("mySound.wav");
    sound.play();
    
    long start = System.currentTimeMillis();
    while (sound.isPlaying())
    {
        Thread.sleep(1000);
    }
    long duration = System.currentTimeMillis() - start;
    
    System.out.println("Played for " + (duration / 1000) + "seconds.");
    

    您也可以尝试从您的源创建一个Media 对象,以获取持续时间。然后,将其播放为AudioClip 并使用Media 的持续时间进行睡眠。不过,这需要初始化一个适当的 FX 环境:

    AudioClip sound = new AudioClip("mySound.wav");
    sound.play();
    Thread.sleep((long) new Media("mySound.wav").getDuration().toMillis());
    

    【讨论】:

    • 当我尝试获取获得 Nan 的持续时间时
    • @Michael 我没有足够的外汇媒体经验来诊断这一点。也许你可以问一个新问题。
    • 好的,非常感谢
    猜你喜欢
    • 1970-01-01
    • 2011-09-07
    • 2010-11-02
    • 2017-10-05
    • 2011-06-05
    • 1970-01-01
    • 2013-10-01
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多