Как получить доступ к локальному медиафайлу на моем компьютере в JavaFX? - PullRequest
1 голос
/ 08 июня 2010

Как получить доступ к локальному мультимедийному файлу на моем компьютере в JavaFX?

Вот URL-адреса, которые я пробовал:

C:/PROJECT/videos/on2tm_352.flv
file:///C://PROJECT/videos/on2tm_352.flv (предложенный на каком-то сайте забыл, где)

Воспроизводится, однако, когда я помещаю файл мультимедиа в папку проекта и открываю его с помощью {__DIR__}/on2tm_352.flv

Примечание. Исключений и ошибок не выводится.Экран просто пустой.

Используется кодек KLite 583 Mega, JavaFX 1.2, Netbeans 6.8

Ответы [ 5 ]

5 голосов
/ 28 августа 2013

У меня сейчас работает:

private static final String MEDIA_URL = "file:/c:/Users/Alejandro/Downloads/oow2010-2.flv";

Я проверял это несколько минут назад ....

или что-то в этом роде:

private File file = new File("c:/Users/Alejandro/Downloads/oow2010-2.flv");
private final String MEDIA_URL = file.toURI().toString();

Увидимся позже = D

2 голосов
/ 03 февраля 2013

Попробуйте это:

Media media = new Media(trackFile.toURI().toURL().toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
1 голос
/ 23 июня 2010

Я обнаружил, что с файлами на диске легче сделать следующее. Это освобождает мой слабый мозг от определения всех правил для «file:» urls:

var file = new File("C:/PROJECT/videos/on2tm_352.flv");

Media {
   source: "{file.toURI()}"
}

Я не использую {__DIR__} для мультимедиа, поскольку он может указывать на URL-адрес «jar:», и он больше не поддерживается для местоположений мультимедиа в JavaFX 1.3.

1 голос
/ 10 июня 2010

Предоставляя свой URL для СМИ?

Обратите внимание, что в прошлом сообщалось о некоторых проблемах с пробелами в путях, я не знаю, правда ли это все еще.

[ РЕДАКТИРОВАТЬ после редактирования исходного сообщения (примеры URL) ]
Первая строка не URL, это путь. Очевидно, медиаплеер принимает пути как URL, но это не относится к ImageView, поэтому лучше быть строгим.
Вторая строка верна.
Третья строка имеет потенциальную проблему: __DIR__ переменные уже имеют косую черту, поэтому вы не должны добавлять ее, т.е. вместо этого напишите {__DIR__}on2tm_352.flv. Не уверен, что это проблема (я еще не использовал много видео), но стоит попробовать.

Обратите внимание, что такой URL (на основе __DIR__) будет указывать внутри файла JAR после упаковки проекта. Это нормально в JavaFX 1.2, но по какой-то странной причине они решили запретить такой доступ в 1.3.

0 голосов
/ 05 октября 2013

Вы, ребята, просто должны указать путь к файлу в качестве пути URI:

Media media = new Media("file:///C:/Users/David/Downloads/test.flv");
MediaPlayer mediaPlayer = new MediaPlayer(media);

Нет необходимости создавать экземпляр файла.

...