// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.actions.audio; import static org.openstreetmap.josm.gui.help.HelpUtil.ht; import static org.openstreetmap.josm.tools.I18n.tr; import static org.openstreetmap.josm.tools.I18n.trc; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.io.IOException; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.actions.JosmAction; import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; import org.openstreetmap.josm.tools.AudioPlayer; import org.openstreetmap.josm.tools.Shortcut; /** * Jump the audio backward 10 seconds and start playing if paused. * @since 547 */ public class AudioBackAction extends JosmAction { /** * Constructs a new {@code AudioBackAction}. */ public AudioBackAction() { super(trc("audio", "Back"), "audio-back", trc("audio", "Jump back."), Shortcut.registerShortcut("audio:back", tr("Audio: {0}", trc("audio", "Back")), KeyEvent.VK_F6, Shortcut.DIRECT), true); this.putValue("help", ht("/Action/AudioBack")); } @Override public void actionPerformed(ActionEvent e) { try { if (AudioPlayer.playing() || AudioPlayer.paused()) AudioPlayer.play(AudioPlayer.url(), AudioPlayer.position() - Main.pref.getDouble("audio.forwardbackamount", 10.0)); else MarkerLayer.playAudio(); } catch (IOException | InterruptedException ex) { AudioPlayer.audioMalfunction(ex); } } }