Skip to content

Commit a9d9243

Browse files
authored
Merge pull request #440 from yermak/issues/439_exception_playing_mp3
Fixed playing mp3
2 parents 257b9d4 + fe8e39a commit a9d9243

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/main/java/uk/yermak/audiobookconverter/fx/MediaPlayerController.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import org.slf4j.Logger;
1414
import org.slf4j.LoggerFactory;
1515
import uk.yermak.audiobookconverter.AudiobookConverter;
16-
import uk.yermak.audiobookconverter.book.MediaInfo;
1716
import uk.yermak.audiobookconverter.Utils;
17+
import uk.yermak.audiobookconverter.book.MediaInfo;
1818

1919
import java.io.File;
2020
import java.lang.invoke.MethodHandles;
@@ -26,7 +26,7 @@
2626
/**
2727
* Created by yermak on 26-Oct-18.
2828
*/
29-
public class MediaPlayerController {
29+
public class MediaPlayerController {
3030
final static Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
3131

3232
@FXML
@@ -120,21 +120,30 @@ private void playMedias(MediaInfo selected) {
120120
mediaPlayer.volumeProperty().bindBidirectional(volume.valueProperty());
121121
mediaPlayer.volumeProperty().set(1.0);
122122

123-
mediaPlayer.rateProperty().bind(context.getOutputParameters().getSpeedObservable());
124123
mediaPlayer.rateProperty().set(context.getOutputParameters().getSpeed());
124+
mediaPlayer.rateProperty().bind(context.getOutputParameters().getSpeedObservable());
125125

126126
timelapse.valueProperty().addListener(observable -> {
127127
if (timelapse.isValueChanging()) {
128+
boolean wasPlaying = false;
129+
if (mediaPlayer.getStatus() == MediaPlayer.Status.PLAYING) {
130+
wasPlaying = true;
131+
mediaPlayer.pause();
132+
}
128133
playTime.setText(Utils.formatTime(timelapse.getValue() * 1000));
129134
mediaPlayer.seek(Duration.seconds(timelapse.getValue()));
135+
if (wasPlaying) {
136+
mediaPlayer.play();
137+
}
130138
}
131139
});
132140

133141
mediaPlayer.setOnEndOfMedia(() -> {
134142
executorService.shutdown();
135143
mediaPlayer.volumeProperty().unbindBidirectional(volume.valueProperty());
136144
mediaPlayer.dispose();
137-
mediaPlayer = null;
145+
mediaPlayer
146+
= null;
138147
totalTime.setText("00:00:00");
139148
playTime.setText("00:00:00");
140149

0 commit comments

Comments
 (0)