commit | author | age
|
623a61
|
1 |
# radio-ui |
U |
2 |
|
|
3 |
Eine Bedienoberfläche für Webradio |
851c9c
|
4 |
|
70e1ff
|
5 |
## Prototyp |
U |
6 |
|
ec55bf
|
7 |
Diese Anwendung ist zur Zeit im Bau. Der aktuelle Prototyp zum Stand des Codes in diesem Repository ist hier zu sehen: [Link zum Prototyp](/data/ulrich/test/radio-ui). |
851c9c
|
8 |
|
ad1fef
|
9 |
## Vorgesehene Funktionen |
U |
10 |
|
|
11 |
Das radio-ui zeigt eine Übersicht von Radiosendern. Antippen eines Senders in der Übersicht spielt den Sender ab. |
|
12 |
|
|
13 |
Radiosender können hinzugefügt, geändert und gelöscht werden. Ein Suchfeld ermöglicht das Einschränken der Übersicht auf bestimmte Sender. |
|
14 |
|
fe1cb2
|
15 |
Das Abspiel-Ziel ist konfigurierbar: Ein Radionsender kann entweder auf dem Gerät abgespielt werden, auf dem das radio-ui im Browser läuft oder auf einem anderen Gerät wie z.B. einem Raspberry Pi. |
ad1fef
|
16 |
|
8d53d7
|
17 |
## Beispielcharakter |
U |
18 |
|
|
19 |
Neben dem praktischen Nutzen veranschaulicht das radio-ui verschiedene Aspekte des Baus von Webanwendungen: |
|
20 |
|
96834e
|
21 |
+ app-layout |
8d53d7
|
22 |
+ Vorlagen |
96834e
|
23 |
+ app-menu |
8d53d7
|
24 |
+ CRUD-Muster (Create, Read, Update, Delete) |
U |
25 |
|
c14b75
|
26 |
Wie in der Anwendung radio-ui die obigen Themen umgesetzt sind, ist auf der [Beispielseite](/gitblit/doc/web!radio-ui.git/master/beispiel.md) näher betrachtet. |
8d53d7
|
27 |
|
36646e
|
28 |
## Abhängigkeiten |
f927ec
|
29 |
|
36646e
|
30 |
Zur Verwendung des radio-ui sind die folgenden Komponenten erforderlich |
f927ec
|
31 |
|
36646e
|
32 |
+ [jQuery](http://jquery.com/) |
U |
33 |
+ [Mustache](https://github.com/janl/mustache.js) |
|
34 |
+ [app-menu](/gitblit/docs/web!app-menu.git) |
f927ec
|
35 |
|
36646e
|
36 |
Diese sind in der Datei `index.html` über die folgenden Einträge eingebunden. |
f927ec
|
37 |
|
36646e
|
38 |
```` |
U |
39 |
<link rel="stylesheet" type="text/css" href="../jslib/app-menu/app-menu.css"> |
|
40 |
<script src="../jslib/jquery-1.11.1/jquery-1.11.1.min.js"></script> |
|
41 |
<script src="../jslib/mustache/mustache.min.js"></script> |
|
42 |
<script src="../jslib/app-menu/app-menu.js"></script> |
|
43 |
```` |
851c9c
|
44 |
|
899220
|
45 |
Sollen einzelne Komponenten von einem anderen Ort wie beispielsweise einem Content Delivery Network (CDN) eingebunden werden, müssen nur die obigen Einträge entsprechend angepasst werden. |
851c9c
|
46 |
|
08bce7
|
47 |
## Zusammenspiel mit dem Raspberry Pi |
fe1cb2
|
48 |
|
08bce7
|
49 |
Zum Abspielen auf einem Raspberry Pi ist die Nutzung der Anwendung [pirc](/gitblit/docs/pirc.git) vorgesehen, die zum Spielen von Audiostreams den [omxplayer](https://elinux.org/Omxplayer) mit einer unter [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) laufenden Fernbedienung kombiniert, die per HTTP gesteuert werden kann. |
fe1cb2
|
50 |
|
08bce7
|
51 |
Auf der Seite [Kombination von pirc und radio-ui](pirc.md) ist beschrieben, wie pirc aus dem radio-ui heraus genutzt werden kann. |
576085
|
52 |
|
U |
53 |
## Schnittstellenbeschreibung |
|
54 |
|
6a62bd
|
55 |
Für den Prototyp des radio-ui können verschiedene Arten des Umgangs mit Sendern und Abspielern hergestellt werden. Die folgenden Angaben zeigen die Punkte auf, an denen eine konkrete Implementierung ansetzen kann. |
576085
|
56 |
|
6a62bd
|
57 |
### Sender |
U |
58 |
|
|
59 |
#### Senderliste lesen |
576085
|
60 |
|
U |
61 |
Aufruf |
068ce7
|
62 |
|
576085
|
63 |
```` |
U |
64 |
data/sender.json |
|
65 |
```` |
|
66 |
|
|
67 |
Antwort |
068ce7
|
68 |
|
576085
|
69 |
```` |
U |
70 |
{ |
|
71 |
"senderliste": { |
|
72 |
"titel": "Senderliste", |
|
73 |
"inhalt": [ |
|
74 |
{ |
|
75 |
"senderid": 1, |
|
76 |
"sendername": "hr info", |
|
77 |
"senderurl": "http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3", |
|
78 |
"senderlogo": "../bilder/hr-info.png" |
|
79 |
}, |
|
80 |
{ |
|
81 |
"senderid": 2, |
|
82 |
"sendername": "radiobob", |
|
83 |
"senderurl": "http://bob.hoerradar.de/radiobob-live-mp3-hq", |
|
84 |
"senderlogo": "../bilder/radio-bob-logo-80.png" |
|
85 |
}, |
|
86 |
usw. |
|
87 |
] |
|
88 |
} |
|
89 |
} |
|
90 |
```` |
|
91 |
|
6a62bd
|
92 |
#### Neuen Sender speichern |
576085
|
93 |
|
U |
94 |
Noch nicht realisiert. |
|
95 |
|
6a62bd
|
96 |
#### Änderungen an einem Sender speichern |
576085
|
97 |
|
U |
98 |
Noch nicht realisiert. |
|
99 |
|
6a62bd
|
100 |
#### Sender löschen |
U |
101 |
|
|
102 |
Noch nicht realisiert. |
|
103 |
|
|
104 |
### Abspieler |
|
105 |
|
|
106 |
#### Abspielerliste lesen |
|
107 |
|
|
108 |
Aufruf |
|
109 |
|
|
110 |
```` |
|
111 |
data/abspieler.json |
|
112 |
```` |
|
113 |
|
|
114 |
Antwort |
|
115 |
|
|
116 |
```` |
|
117 |
{ |
|
118 |
"abspielerliste": { |
|
119 |
"titel": "Abspielerliste", |
|
120 |
"inhalt": [ |
|
121 |
{ |
|
122 |
"abspielerid": 1, |
|
123 |
"abspielername": "dieses Gerät", |
|
124 |
"abspielerurl": "", |
|
125 |
"abspielertyp":"lokal", |
|
126 |
"abspielerbild": "", |
|
127 |
"abspielerzustand":"" |
|
128 |
}, |
|
129 |
{ |
|
130 |
"abspielerid": 2, |
|
131 |
"abspielername": "Raspberry Pi Wohnzimmer", |
|
132 |
"abspielerurl": "", |
|
133 |
"abspielertyp":"pirc", |
|
134 |
"abspielerbild": "", |
|
135 |
"abspielerzustand":"selected" |
|
136 |
}, |
|
137 |
usw. |
|
138 |
] |
|
139 |
} |
|
140 |
} |
|
141 |
```` |
|
142 |
|
|
143 |
#### Neuen Abspieler speichern |
|
144 |
|
|
145 |
Noch nicht realisiert. |
|
146 |
|
|
147 |
#### Änderungen an einem Abspieler speichern |
|
148 |
|
|
149 |
Noch nicht realisiert. |
|
150 |
|
|
151 |
#### Abspieler löschen |
576085
|
152 |
|
U |
153 |
Noch nicht realisiert. |