我在许多论坛和YouTube教程中搜索了一些简单的代码来播放声音文件(.mp3),但我找到的所有内容都不适合我。
我总是收到异常,它找不到文件或其他错误,但它总是以异常结束。
有什么我必须先配置的吗?
-编辑- 我再次尝试以下代码来显示我得到的解释:
这是我的代码
添加JFXPanel后,我得到了异常:线程“main”中的异常MEDIA Exception:MEDIA _ UNAVAILABLE :D:\ bip . MP3(系统找不到文件)//是的,我检查了路径是否正确。
也许发布一个特定的错误可以解决你的问题,但无论如何,我认为这可以帮助你。我也实现了它,非常适合我。
我是这样做到的:
List<Media> mediaList = new ArrayList<>();
FileManager files = new FileManager();
files.loadMediaFiles(new File("your music directory goes here.."));
files.getFiles().stream().forEach((media) -> {
mediaList.add(new Media(media));
});
MediaPlayer mediaPlayer = new MediaPlayer(playList.get(0));
MediaView mediaView = new MediaView(mediaPlayer);
playPauseButton.setOnAction((ActionEvent event) -> {
if (mediaPlayer.getStatus() == Status.PAUSED || mediaPlayer.getStatus() == Status.READY || mediaPlayer.getStatus() == Status.STOPPED) {
mediaPlayer.play();
playPauseButton.setGraphic(pause);
} else {
mediaPlayer.pause();
playPauseButton.setGraphic(play);
}
});
你也可以在github上查看我的应用。
为了避免初始化异常,您必须调用Application.launch()方法或者简单地实例化一个新的JFXPanel()类(即使它不用于任何事情)。这将在应用程序启动时启动JavaFxRuntime
所以在你的代码中添加下面一行
final JFXPanel fxPanel = new JFXPanel();
导入以下包
import javafx.embed.swing.JFXPanel;
现在你的代码将如下所示
import java.io.File;
import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
public class Test {
public static void main(String args[]) {
final JFXPanel fxPanel = new JFXPanel();
String bip = "D://bip.mp3"; //sound file path
Media hit = new Media(new File(bip).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();
}
}
问题内容: 我希望能够在程序中播放声音文件。我应该去哪里看? 问题答案: 我写了下面的代码,效果很好。但我认为它仅适用于格式。
我希望能够在我的程序中播放声音文件。我应该去哪里?
问题内容: Octave似乎假设某个特定的声音播放实用程序将在系统上可用,但似乎没有提供指定备用声音的功能。在以下错误中,Octave正在寻找,这不是在所有系统上都可用的实用程序。 八度:38>声音(beamformed_20) sh:ofsndplay:找不到命令 是否可以使用Octave配置设置或代码片段来指定适合系统的实用程序? 问题答案: 在我的一台Linux机器上,我创建了以下ofsnd
问题内容: 这是我用来在我的react应用程序中使用url(this.url)播放声音的代码。当我按下播放按钮时,它给我一个错误 我不确定为什么会这样,因为我没有看到任何未定义的状态。一个;; 状态已经声明。 我是新来的反应者,所以我可能会错过一些非常重要的东西。 请帮忙! 问题答案: 我稍微改进了Jaxx的版本,使其包含一个,以便在音频结束时重置按钮。 ES6类属性语法 挂钩版本(反应16.8+
问题内容: 我正在尝试将文本语音转换应用程序与其他开发人员共享,但是我现在遇到的问题是Docker容器无法在主机上找到声卡。 当我尝试在Docker容器中播放WAV文件时 我想主要的问题是docker容器无法到达主机上的声卡。 到目前为止,我有 我在docker容器中安装了alsa-utils和大多数alsa依赖项。 通过指定运行容器时 添加 我不确定docker是否可以做到这一点(我不确定如何将
播放(播放音效/播放录音)