gpt4 book ai didi

audio - 如何以毫秒为单位获取 javaFX 音频剪辑的长度

转载 作者:行者123 更新时间:2023-12-03 02:35:42 25 4
gpt4 key购买 nike

关闭。这个问题需要details or clarity .它目前不接受答案。












想改进这个问题?通过 editing this post 添加详细信息并澄清问题.

4年前关闭。




Improve this question




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

最佳答案

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

您可以尝试这种(不是很优雅)的方法:只需 sleep 并不时检查剪辑是否仍在播放:

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 的持续时间 sleep 。但是,这需要初始化一个适当的 FX 环境:
AudioClip sound = new AudioClip("mySound.wav");
sound.play();
Thread.sleep((long) new Media("mySound.wav").getDuration().toMillis());

关于audio - 如何以毫秒为单位获取 javaFX 音频剪辑的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49044515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com