이 포스트는 이전글에 이어서 쓴 글입니다.
MainController.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | package application; import java.io.File; import java.net.URL; import java.util.ResourceBundle; import javafx.beans.InvalidationListener; import javafx.beans.Observable; import javafx.beans.binding.Bindings; import javafx.beans.property.DoubleProperty; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Slider; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; public class MainController implements Initializable{ @FXML private MediaView mv; MediaPlayer mp; Media me; @FXML private Slider volumeSlider; @Override public void initialize(URL location, ResourceBundle resources) { String path = new File("Adding Volume Slider to MediaPlayer/media/Test.mp4").getAbsolutePath(); me = new Media(new File(path).toURI().toString()); mp = new MediaPlayer(me); mv.setMediaPlayer(mp); //mp.setAutoPlay(true); DoubleProperty width = mv.fitWidthProperty(); DoubleProperty height = mv.fitHeightProperty(); width.bind(Bindings.selectDouble(mv.sceneProperty(), "width")); height.bind(Bindings.selectDouble(mv.sceneProperty(), "height")); volumeSlider.setValue(mp.getVolume() * 100); // 1.0 = max 0.0 = min volumeSlider.valueProperty().addListener(new InvalidationListener() { @Override public void invalidated(Observable observable) { mp.setVolume(volumeSlider.getValue() / 100); } }); } //시작 public void play(ActionEvent event) { mp.play(); mp.setRate(1); } //정지 public void pause(ActionEvent event) { mp.pause(); } public void fast(ActionEvent event) { //mp.setRate(1);// 노멀 스피드 mp.setRate(2);// 2배 스피드 //mp.setRate(0.5);// 0.5배 스피드 } public void slow(ActionEvent event) { mp.setRate(.5); } public void reload(ActionEvent event) { mp.seek(mp.getStartTime()); mp.play(); } public void start(ActionEvent event) { mp.seek(mp.getStartTime()); mp.stop(); } public void last(ActionEvent event) { mp.seek(mp.getTotalDuration()); mp.stop(); } } | cs |
'Java > JavaFx' 카테고리의 다른 글
JavaFX 32. Adding Play, Pause, Start, Fast, Slow Buttons to Media Player (0) | 2016.08.29 |
---|---|
JavaFX 31. Media Player in JavaFX (0) | 2016.08.29 |
JavaFX 30. Event Handler for a Line Chart (0) | 2016.08.29 |
JavaFX 29. Multiple Line Chart (0) | 2016.08.29 |
JavaFX 28. Line Chart (0) | 2016.08.29 |