App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
undisclosed
2023-01-07 2f2aa7d344d41c6d4083149b1ea6b41e7fb1f683
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
/*
    AV-Direktor - Control OMXPlayer on Raspberry Pi via HTTP
    Copyright (C) 2021  Ulrich Hilger
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.
 
    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/
 
package de.uhilger.calypso.handler;
 
import com.sun.net.httpserver.HttpExchange;
import de.uhilger.calypso.App;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 *
 * @author ulrich
 */
public class SeekHandler extends PlayHandler  {
  
  private static final Logger logger = Logger.getLogger(SeekHandler.class.getName());
 
  public SeekHandler(String cmd) {
    super(cmd);
  }
 
  @Override
  protected String process(HttpExchange t, String params) {
    Player player = App.getPlayer();
    String antwort = player.abspielen( 
            player.getParam(map, "titel"), params, player.getParam(map, "r"), "1");    
    logger.log(Level.FINE, antwort);
    return antwort;
  }
 
  /*
    start "C:Program FilesVLCvlc.exe" rel="nofollow" "D:MoviesThe Italian Job.avi" --start-time 12 --stop-time 20
 
    You simply have to use the command line as given above, with the file paths and the time changed as needed. 
    The numbers 12 and 20 in the command line indicate 12 seconds and 20 seconds respectively.
  
  
    --global-key-play-pause=<string> 
                                 Play/Pause
          Select the hotkey to use to swap paused state.  
  */
  protected StringBuilder buildParams(HttpExchange t) {
    Player player = App.getPlayer();
    StringBuilder params = super.buildParams(t);
    if(player instanceof OMXPlayer) {
      params.append(" --pos ");
      params.append(player.getParam(map, "pos"));
    }
    return params;
  }  
  
}