Bearbeiten von „RoarAudio/Programmieren/Simple“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 2: Zeile 2:
  
 
== Steuer Verbindung ==
 
== Steuer Verbindung ==
Um eine Verbindung zum Server auf zu bauen ist zu empfehlen die Funktion ''roar_simple_connect()'' zu verwenden. Im Gegensatz zu ''roar_connect()'' führt diese zusätzlich die so genannte Identifikation und die Authentifikation des Klienten durch.
+
...
 
 
Beispiel:
 
if ( roar_simple_connect(&con, server, "MyClient") == -1 ) {
 
  return -1;
 
}
 
 
 
In diesem Beispiel wird versucht zum Server ''server'' zu verbinden. Um zum Standard Server zu verbinden kann NULL verwendet werden. Der Neue Klient trägt auf dem Server nun den Namen "MyClient". Dieser sollte möglichst Aussagekräftig sein und das Programm Identifizieren. Prozess IDs oder Session Kennungen haben hier nichts zu suchen. Beispiele: "XMMS", "Amarok", "mplayer", "ogg123".
 
 
 
Zum Schließen der Verbindung wird auf die Normale API Funktion ''roar_disconnect()'' zurück gegriffen:
 
ret = roar_disconnect(&con);
 
  
 
== Streams ==
 
== Streams ==
Zum Öffnen von Streams gibt es zwei mögliche Szenarien: Zum einen die möglichkeit das ein einzelner Stream erzeugt werden soll (einmalig), oder das eine Reihe von Streams erzeugt werden soll, wie bei einem Player als Beispiel, der mehre Lieder nacheinander abspielt.
+
...
 
 
Zunächst behandeln wir den Fall das nur ein Stream verwendet werden soll:
 
Hier zu gibt es die Funktion ''roar_vio_simple_stream()'' welche lediglich ein VIO Objekt uns erzeugt über welches wir auf den Stream zugreifen können.
 
 
 
Beispiel:
 
if ( roar_vio_simple_stream(&vio, rate, channels, bits, ROAR_CODEC_DEFAULT, NULL, ROAR_DIR_PLAY, "MyApp") == -1 ) {
 
  return -1;
 
}
 
 
 
Im Beispiel wird eine Verbindung zum Standard Server (''NULL'') aufgebaut, dort ein PCM Stream im nativen Format mit Daten den aus ''rate'', ''channels'' und ''bits'' erzeugt. Unser Klient heißt "MyApp".
 
 
 
Im zweiten Fall das wir mehre Streams hinter einander verwenden möchten verbinden wir zu erst wie oben gezeigt zum Server und verwenden dann die Funktion ''roar_vio_simple_new_stream_obj()''.
 
 
 
Beispiel:
 
struct roar_stream stream;
 
 
if ( roar_vio_simple_new_stream_obj(&vio, &con, &stream,
 
                                    rate, channels, bits, ROAR_CODEC_DEFAULT,
 
                                    ROAR_DIR_PLAY) == -1 ) {
 
  return -1;
 
}
 
 
 
Hier wird Prinzipiell das selbe wie oben getan nur mit folgenden Erweiterungen:
 
# Es wird die bereits bestehende Verbindung ''con'' verwendet.
 
# Es wird ein Stream Objekt ''stream'' angelegt. Dieses können wir verwenden für die Übertragung von zum Beispiel Meta Daten oder Ignorieren.
 
 
 
Beide Varianten erzeugen uns ein VIO Objekt (''vio'') über das wir auf unseren Stream Zugriff nehmen können.
 
  
 
== Dateien Abspielen ==
 
== Dateien Abspielen ==
libroar bietet neben den Standard Funktionen zum abspielen von Daten noch noch spezielle Funktionen zum abspielen von Dateien. Bei der einfachsten handelt es sich um ''roar_simple_play_file()''. Diese Funktion baut eine Verbindung zu einem Server auf und sendet eine Datei an diesen.
+
...
 
 
Beispiel:
 
if ( roar_simple_play_file("music.ogg", NULL, "MyApp") == -1 ) {
 
  return -1;
 
}
 
 
 
Soll ein Prozess oder [[Thread]] mehre Dateien abspielen so kann eine Verbindung zum RoarAudio Sound Server aufgebaut werden (wie oben beschrieben) und dann ''roar_file_play()'' verwendet werden.
 
 
 
Beispiel:
 
if ( roar_file_play(&con, file[idx], 0) == -1 ) {
 
  return -1;
 
}
 
 
 
Das Beispiel spielt die Datei mit dem Namen im Array ''file'' und dem Index ''idx'' ab.
 
  
 
== Siehe Auch ==
 
== Siehe Auch ==

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Die folgende Vorlage wird auf dieser Seite verwendet: