当前位置: 首页 > 知识库问答 >
问题:

javafx media查看只有音频正在播放

淳于玺
2023-03-14

我试图在一个网站中嵌入一个视频到一个简单的javafx应用程序的媒体视图中。我有一个示例代码,我用作我的javafx代码。它打开场景并播放音频,但不会播放视频。我怎样才能让它播放音频?我使用netbean IDE 8.0.2,JavaFx 8和场景生成器2.0我尝试过的代码如下。感谢先进。

@FXML MediaView mdv;
Media media;
public static MediaPlayer mpl;
@Override
public void initialize(URL url, ResourceBundle rb) {
    media=new Media("http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv");
    mpl=new MediaPlayer(media);
    mpl.setAutoPlay(true);
    mdv=new MediaView(mpl);
    mpl.play();
    mpl.setOnError(new Runnable() {
        @Override public void run() {
            System.out.println("Current Error: " + mpl.getError());
        }
    });
}   

我就是这样把孩子们抬上舞台的

public class Production extends Application {

@Override
public void start(Stage stage) throws Exception {

    Parent root = FXMLLoader.load(getClass().getResource("Vdo.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
}

下面是我从scene builder创建GUI后得到的FXML

<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.media.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0"
xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="production.VdoController">
   <children>
      <MediaView fx:id="mdv" fitHeight="300.0" fitWidth="300.0" layoutX="125.0"  layoutY="85.0" />
      <Button layoutX="235.0" layoutY="51.0" mnemonicParsing="false" text="Button" />
   </children>
</AnchorPane>

共有1个答案

柯伟志
2023-03-14

您正在重新初始化已由FXMLoader初始化的MediaView。永远不要这样做,因为您将失去对原始节点的引用。

您应该将MediaPlayer设置为MediaView,而不是使用setMediaPlayer()重新初始化它。

@Override
public void initialize(URL url, ResourceBundle rb) {
    media=new Media("http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv");
    mpl=new MediaPlayer(media);
    mpl.setAutoPlay(true);
    mdv.setMediaPlayer(mpl);
    mpl.play();
} 
 类似资料:
  • 问题内容: 检查html5音频元素当前是否正在播放的JavaScript API是什么? 问题答案: 音频标签具有一个属性。如果未暂停,则正在播放。

  • 正常模式下不播放同一视频。 我的问题是, 当我尝试播放视频,我得到的只是空白视频,但我得到了所有的音频和字幕。 我的代码有什么错误。请给我任何建议。

  • 问题内容: 我正在为HTML5游戏编写测试,我想检查音频是否正在加载并正确启动。 有没有一种方法可以使用Selenium进行检查?还是我需要在操作系统级别执行此操作? 问题答案: 我总是用“ 告诉我一个人如何检查…… ” 来回答这样的问题。答案是这种情况是听音频,看看是否应该播放。您将无法使计算机轻松做到这一点。

  • 好吧,事情是这样的:我在做一个智力竞赛游戏,我决定给它放一张配乐。它是一个单一的音频文件,我上传到我的自定义域,并通过代码流。我还添加了播放/暂停按钮,这样播放器就可以播放和暂停音乐。音乐在框架1上自动播放,我的游戏的“开始”按钮在那里。但是,如果玩家答错了一个问题,他会回到第一帧。问题是音乐的另一个“实例”开始播放,导致两个音乐在同一时间播放。如果他再答错,就会有三首音乐回放,以此类推....我

  • 问一下Xamarin.Forms便携里面Xamarin.Forms的音频怎么播放 正如我所知,有依赖服务,我看到了一些示例,只有iOS和Android,但没有Windows Phone 8.1/Windows 8.1和UWP。

  • 一款带有圆形进度条的在线音频播放器。 [Code4App.com]