java - 如何让 MediaPlayer 重复播放声音?
问题描述
我的 MediaPlayer 只播放一次声音。当我输入 audio.play() 两次时,它仍然只播放一次。当我调用 audio.play() 时,如何让它再次播放?
当我尝试查找时,大多数解决方案都是针对 Android 的。他们建议使用 AudioFocus 的地方,但是因为我的代码只是 Java 而不是 Android 不起作用。
我还尝试在两个 .play() 之间使用“audio.stop()”。但这仍然没有改变任何东西。
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import java.io.File;
public class audio {
public static void main(String[] args) {
com.sun.javafx.application.PlatformImpl.startup(()->{});
MediaPlayer audio = new MediaPlayer(
new Media(
new File("C:\\Users\\User\\Pictures\\Java Projects\\FlappyBird\\sfx_wing.mp3").toURI().toString()));
audio.play();
audio.play();
}
}
目前,我第一次运行“audio.play()”时,声音正确播放。但是当我再次播放时,它不会播放。
解决方案
用来再玩audio.seek(audio.getStartTime());
一次。如果您无法理解这一行,请查看文档。
推荐阅读
- vespa - 搜索延迟是否会随着文档大小而增加?
- docker - docker 本地注册表“exec:\”htpasswd\“:$PATH 中找不到可执行文件”
- matlab - matlab imagesc()图的可变网格大小
- asp.net - 可空枚举下拉列表无法按预期工作
- azure-iot-sdk - .NET 从 Microsoft.Azure.Devices.Client.ModuleClient 获取 DeviceId
- python - 需要新手帮助
- ignite - Spark 作业在尝试从 ignite 集群中获取数据时无限期卡住
- android - 如何在 android studio 中为 AppGallery 签署我的 Bundle 应用程序?
- android - 关于如何为网络请求做队列系统的建议(连接不良时)
- python - 从列表中删除多个管道