import java.io.File;
import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
public class SoundTest extends Application{
public static void main(String[] args) {
launch(args);
}
public static void sound() {
String path = "test.mp3";
Media media = new Media(new File(path).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();
}
@Override
public void start(Stage arg0) throws Exception {
sound();
}
}
我有些问题。我谷歌了一下,偶然发现了一些有用的stackoverflow帖子,这些帖子解释了声音是如何通过媒体和媒体播放器加载的。
我正在做的是,我在main()中调用声音函数,但由于第二个类似我的声音函数中的一些失败,我的程序无法执行。媒体对象接受构造函数中的参数,该参数是音频文件的路径。不知何故,当我得到时,它在那里失败了:
Exception in thread "Thread-0" java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
at javafx.application.Platform.runLater(Unknown Source)
at javafx.scene.media.Media$_MetadataListener.onMetadata(Unknown Source)
at com.sun.media.jfxmediaimpl.MetadataParserImpl.done(Unknown Source)
at com.sun.media.jfxmediaimpl.platform.java.ID3MetadataParser.parse(Unknown Source)
at com.sun.media.jfxmediaimpl.MetadataParserImpl.run(Unknown Source)
Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
at com.sun.javafx.application.PlatformImpl.runLater(Unknown Source)
at javafx.application.Platform.runLater(Unknown Source)
at javafx.scene.media.MediaPlayer.init(Unknown Source)
at javafx.scene.media.MediaPlayer.<init>(Unknown Source)
at core.SoundTest.sound(SoundTest.java:43)
at core.SoundTest.main(SoundTest.java:13)
我的声音文件位于类所在的 eclipse 项目的文件夹中。它是一个 3 分钟长的 mp3 文件,位于 src 和 bin 文件夹内,但不在包内。(我在窗户上)。
这怎么行不通?为什么我会收到这些错误。
这里的问题是MediaPlayer
仅用于JavaFX
应用程序,因此如果您希望能够使用它,则需要将应用程序转换为JavaFX
应用程序。
要将类转换为JavaFX
应用程序,您需要:
> < li >要使您的类< code>SoundTest扩展< code > Java FX . application . application < li>
然后修改您的< code>main方法,如下所示
public static void main(String[] args) { Application.launch(args); }
我正在尝试使用: 显示在控制台中,但什么也没发生<我怎样才能解决这个问题?
边界盒 点
其实我是新的PHP。我在一个几乎是空的文件夹中运行这个(实际上是按照劳拉-cast教程:用TDD设计一个流畅的应用编程接口)。 我的目录结构看起来像 src 表情。php 表达测试。php 内部作曲家。json: 内部表达测试。php: 内心的表达。php 然后我运行composer dump autoload并运行phpunit,但仍然得到: 我的语法有问题吗?我对作曲家的理解是非常基本的。提前
我创建了一个简单的GUI,其中包括一个JTable。这张桌子可能被保存了 此时,保存函数按预期工作,当在保存目录中查找时,我可以看到表对象存储在文件中。 但是,当我尝试从文件加载表时,GUI从不显示加载的表。调用actionlistener函数,因为我有一个系统。输出“数据已加载”,但表格从不显示更新的数据。 我已尝试调用repaint(),但无效。如果有人能让我知道我可能做错了什么,我将不胜感激
我创建了这段代码,其中大部分代码都是使用toUpperCase,它应该使单词的每个首字母都大写。没有错误,因此我不确定该方法当前为何不起作用。为什么会这样呢。
我有通话录音应用程序,可以正常工作,直到5.0的呼入和呼出,但音频录制在android 6.0上不起作用,请帮我解决这个问题。我使用媒体记录器,用于麦克风和VOICE_CALL选项,但结果是一样的?