App zur Steuerung des mpv Mediaplayers auf einem Raspberry Pi über HTTP
undisclosed
2022-12-31 b16b544a3982da609564491ac207e74c0e121c25
commit | author | age
60719c 1 /*
U 2     AV-Direktor - Control OMXPlayer on Raspberry Pi via HTTP
3     Copyright (C) 2021  Ulrich Hilger
4
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU Affero General Public License as
7     published by the Free Software Foundation, either version 3 of the
8     License, or (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU Affero General Public License for more details.
14
15     You should have received a copy of the GNU Affero General Public License
16     along with this program.  If not, see <https://www.gnu.org/licenses/>.
17 */
18
229976 19 package de.uhilger.calypso.handler;
63b711 20
U 21 import com.sun.net.httpserver.HttpExchange;
229976 22 import de.uhilger.calypso.App;
63b711 23 import java.util.logging.Level;
U 24 import java.util.logging.Logger;
25
26 /**
27  *
28  * @author ulrich
29  */
30 public class SeekHandler extends PlayHandler  {
31   
32   private static final Logger logger = Logger.getLogger(SeekHandler.class.getName());
33
34   public SeekHandler(String cmd) {
35     super(cmd);
36   }
37
38   @Override
39   protected String process(HttpExchange t, String params) {
b16b54 40     Player player = App.getPlayer();
U 41     String antwort = player.abspielen( 
42             player.getParam(map, "titel"), params, player.getParam(map, "r"), "1");    
63b711 43     logger.log(Level.FINE, antwort);
U 44     return antwort;
45   }
46
fa4bcf 47   /*
U 48     start "C:Program FilesVLCvlc.exe" rel="nofollow" "D:MoviesThe Italian Job.avi" --start-time 12 --stop-time 20
49
50     You simply have to use the command line as given above, with the file paths and the time changed as needed. 
51     The numbers 12 and 20 in the command line indicate 12 seconds and 20 seconds respectively.
52   
53   
54     --global-key-play-pause=<string> 
55                                  Play/Pause
56           Select the hotkey to use to swap paused state.  
57   */
63b711 58   protected StringBuilder buildParams(HttpExchange t) {
b16b54 59     Player player = App.getPlayer();
63b711 60     StringBuilder params = super.buildParams(t);
b16b54 61     if(player instanceof OMXPlayer) {
U 62       params.append(" --pos ");
63       params.append(player.getParam(map, "pos"));
64     }
63b711 65     return params;
U 66   }  
67   
68 }