BlackBerry Java Application Multimedia Version: 5.0. Entwicklungshandbuch

Größe: px
Ab Seite anzeigen:

Download "BlackBerry Java Application Multimedia Version: 5.0. Entwicklungshandbuch"

Transkript

1 BlackBerry Java Application Multimedia Version: 5.0 Entwicklungshandbuch

2 Veröffentlicht: SWD

3 Inhaltsverzeichnis 1 Arbeiten mit Multimediainhalten in einer BlackBerry-Geräteanwendung... 5 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt... 5 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt... 6 Codebeispiel: Wiedergeben von Medien über einen URI... 6 Codebeispiel: Wiedergeben einer Folge von Tönen... 7 Erstellen einer BlackBerry-Geräteanwendung, die Medien aus einem Eingabestream wiedergibt... 8 Erstellen einer BlackBerry-Geräteanwendung, die Media-Streaming wiedergibt... 9 Erstellen einer BlackBerry-Geräteanwendung, die ein Video in einem Benutzeroberflächenfeld wiedergibt... 9 Erstellen einer BlackBerry-Geräteanwendung, die ein Foto mit der Kamera aufnimmt Erstellen einer BlackBerry-Geräteanwendung, die Audiodaten an ein Bluetooth-fähiges Gerät sendet Erstellen einer Content-Handler-Anwendung, die Medien wiedergibt Codebeispiel: Erstellen einer Content-Handler-Anwendung, die Medien wiedergibt Festlegen der Funktionen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Abfragen der von einer BlackBerry-Geräteanwendung unterstützten Funktionen zur Medienwiedergabe Festlegen der Parameter für die Videowiedergabe innerhalb einer BlackBerry-Geräteanwendung Festlegen der Lautstärke, mit der eine BlackBerry-Geräteanwendung Medien wiedergibt Reagieren auf Benutzereingaben Empfangen einer Benachrichtigung, wenn ein Benutzer eine Medientaste auf einem BlackBerry-Gerät drückt Reagieren auf das Drücken einer Lautstärketaste durch einen BlackBerry-Gerätebenutzer Reagieren auf eine Statusänderung eines Player-Objekts Media-Streaming in einer BlackBerry-Geräteanwendung RIMM-Streaming-Videodatei Proprietäres RIM-Videoformat (RIMM-Streaming-Datei) Puffern und Wiedergeben von per Streaming übertragenen Medieninhalten Codebeispiel: Media-Streaming in einer BlackBerry-Geräteanwendung Codebeispiel: Lesen von Daten aus einem Puffer Codebeispiel: Media-Streaming mithilfe einer Datei auf dem BlackBerry-Gerät Codebeispiel: Analysieren einer RIMM-Streaming-Videodatei Aufzeichnen von Medien mithilfe einer BlackBerry-Geräteanwendung Aufzeichnen von Audiodaten in einer BlackBerry-Geräteanwendung Codebeispiel: Aufzeichnen von Audiodaten aus einem Player Aufzeichnen eines Videos mit der BlackBerry-Videoaufzeichnungsanwendung... 39

4 Aufzeichnen von Videos mithilfe der Multimedia-API Codebeispiel: Aufzeichnen von Videos mit der Multimedia-API Wiedergeben von Medien in der Medienanwendung des BlackBerry-Geräts Starten der Medienanwendung mit oder ohne Inhalte Wiedergeben von Audioinhalten im BlackBerry Browser Wiedergeben eines Videos im BlackBerry Browser Arbeiten mit Bildern aus der Kameraanwendung Starten der Kamera aus einer BlackBerry-Geräteanwendung Erstellen einer Content-Handler-Anwendung, die Medien wiedergibt Codebeispiel: Erstellen einer Content-Handler-Anwendung, die Medien wiedergibt Empfangen einer Benachrichtigung über Dateisystemereignisse Erkennen, wenn ein Bild im Dateisystem des BlackBerry-Geräts hinzugefügt oder entfernt wird Abrufen eines Bilds Verschieben eines Bilds innerhalb desselben Verzeichnisses des Dateisystems Verschieben eines Bilds in ein anderes Verzeichnis des Dateisystems Löschen eines Bilds aus dem Dateisystem Zeichnen und Positionieren von Bildern Positionieren eines Bilds Überprüfen, ob das BlackBerry-Gerät ein Farbdisplay unterstützt Abrufen der Anzahl der Farben, die der BlackBerry-Gerätebildschirm unterstützt Konfigurieren der Pixeltransparenz im Zeichenbereich Abfragen der von der BlackBerry-Geräteanwendung unterstützten Rastervorgänge Zeichnen eines schattierten und ausgefüllten Pfads Codebeispiel: Zeichnen eines Pfads auf dem Bildschirm einer BlackBerry-Geräteanwendung, dessen Farbe von Blau in Rot übergeht Aktivieren oder Deaktivieren eines Zeichenstils Bestimmen, ob ein Zeichenstil konfiguriert ist Codebeispiel: Bestimmen, ob der festgelegte Zeichenstil aktiviert ist Verwenden eines monochromen Bitmap-Bilds als Stempel Codebeispiel: Veranschaulichen der Verwendung eines monochromen Bitmap-Bilds als Stempel Erstellen eines Bitmap-Bilds mithilfe eines anderen Bitmap-Bilds Erstellen eines Bitmap-Bilds, das den skalierten Inhalt eines anderen Bitmap-Bilds enthält Duplizieren eines Bitmap-Bilds Erstellen eines Bitmap-Bilds, das einen Teil des Inhalts eines anderen Bitmap-Bilds enthält... 72

5 Zeichnen eines Bilds auf einem leeren Bitmap-Bild Interpolationsfilter Anzeigen von Bildern Anzeigen eines Bilds zum Vergrößern/Verkleinern und Schwenken Anzeigen eines Bilds zum Vergrößern/Verkleinern und Schwenken Codebeispiel: Anzeigen eines Bilds zum Vergrößern/Verkleinern und Schwenken Anzeigen einer Reihe von Bildern zum Scrollen Anzeigen einer Reihe von Bildern zum Scrollen Codebeispiel: Anzeigen einer Reihe von Bildern zum Scrollen Verwenden unbearbeiteter Bilder Abrufen unverarbeiteter Bilddaten Speichern unverarbeiteter Bilddaten Vergleichen von zwei unbearbeiteten Bildern Vergleichen von zwei Bitmap-Bildern, um sie auf Unterschiede zu prüfen Verwenden von codierten Bildern Zugriff auf ein codiertes Bild über einen Eingabestream Codieren eines Bilds Anzeigen eines codierten Bilds Festlegen des Decodierungsmodus für ein Bild Festlegen der Anzeigegröße eines codierten Bilds Verwenden von SVG-Inhalten in einer BlackBerry-Geräteanwendung Herunterladen von SVG-Inhalten Wiedergeben von Rich Media-Inhalten Empfangen von Ereignissen beim Herunterladen einer PME-Datei Reagieren auf Ereignisse beim Herunterladen einer PME-Datei Codebeispiel: Reagieren auf Ereignisse, wenn eine BlackBerry-Geräteanwendung SVG-Inhalte herunterlädt Herunterladen und Wiedergeben einer PME-Datei Wiedergeben von SVG-Inhalten Zugriff auf SVG-Inhalte über eine Verbindung, die von MediaManager nicht unterstützt wird Codebeispiel: Implementieren eines benutzerdefinierten Connector-Frameworks Erstellen von 2D- und 3D-Grafiken mithilfe von JSR Pakete für die Unterstützung von JSR

6 Codebeispiel: Rendering eines mehrfarbigen 2D-Dreiecks Codebeispiel: Zeichnen eines 3D-Würfels Codebeispiel: Zeichnen eines 3D-Würfels D-Mathematikprogramme Codebeispiel: Verwenden von Festkommaarithmetik Glossar Rückmeldung Verlauf der Dokumentrevision Rechtliche Hinweise

7 Arbeiten mit Multimediainhalten in einer BlackBerry-Geräteanwendung Arbeiten mit Multimediainhalten in einer BlackBerry- Geräteanwendung 1 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Sie können eine BlackBerry -Geräteanwendung erstellen, die Medien im BlackBerry Browser oder in der Medienanwendung auf einem BlackBerry-Gerät wiedergibt. Es kann auch eine Medienanwendung für das BlackBerry-Gerät zur Wiedergabe von Audio-, Video- und binären SVG-Inhalten erstellt werden. Darüber hinaus kann eine BlackBerry-Geräteanwendung zum Aufzeichnen von Audio- und Videoinhalten und zum Senden von Audiodaten an ein Bluetooth -fähiges Headset erstellt werden. Die Content-Handler-API (CHAPI) wird auch zur Bereitstellung eines Ausführungsmodells für den Remote-Aufruf von nicht zentralen BlackBerry-Geräteanwendungen verwendet. CHAPI ist eine ideale Methode für das Festlegen von Aufrufparametern für nicht zentrale BlackBerry-Geräteanwendungen. Mithilfe von CHAPI können Sie Anwendungen aufrufen, indem Sie bei der Verwendung eines der in der javax.microedition.content.invocation-klasse verfügbaren Konstruktoren eine URL, einen Inhaltstyp oder eine Inhalts-ID angeben. Anmerkung: CHAPI versucht, eine Aufrufantwort abzurufen, sofern Sie nicht explizit festlegen, dass keine Antwort erforderlich ist. Sie können eine BlackBerry-Geräteanwendung für die Wiedergabe von Medien erstellen, die die Player-Schnittstelle und das javax.microedition.media-paket verwendet. Die Player-Schnittstelle wurde von RIM implementiert. Sie stellt die Methoden bereit, die zum Verwalten der verschiedenen Zustände einer BlackBerry-Geräteanwendung, die Medien wiedergibt, und zum Steuern der Wiedergabe von Mediendateien benötigt werden. Ein Player-Objekt wird zuerst im Zustand UNREALIZED erstellt. In diesem Zustand kann das Objekt aufgrund mangelnder Informationen und Ressourcen keine Aktionen ausführen. Durch Aufrufen von realize() wird der Player in den Zustand REALIZED versetzt. Dadurch kann der Player nach Informationen suchen, um die grundlegenden Ressourcen für die Wiedergabe eine Mediendatei zu erhalten. Durch Aufrufen von prefetch() wird der Player in den Zustand PREFETCHED versetzt. In diesem Zustand erhält der Player erforderliche Ressourcen und "ruft" dann einen Teil der Mediendatei ab, um sofort die Wiedergabe zu starten, sobald der Player gestartet wurde. Durch Aufrufen von start() wird der Player in den Zustand STARTED versetzt, in dem der Player die sofortige Wiedergabe der Medien startet. Es ist möglich, start() ohne Aufruf von realize() und prefetch() aufzurufen. Mit der start()-methode wird prefetch(0) aufgerufen, wodurch realize() aufgerufen wird, bevor die Medienwiedergabe gestartet werden kann. Die Einfachheit, die sich ergibt, wenn start() auf diese Weise verwendet wird, wird möglicherweise durch höhere Verzögerungen beim Start der Medienwiedergabe ausgeglichen. 5

8 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Weitere Informationen zu Medientypen, die vom BlackBerry-Gerät unterstützt werden, finden Sie im Knowledge Base-Artikel KB05482 unter Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt 1. Importieren Sie die erforderlichen Klassen. import javax.microedition.media.manager; import javax.microedition.media.player; import java.io.ioexception; 2. Rufen Sie ein Player-Objekt aus der Manager-Klasse ab, indem Sie die createplayer()-methode aufrufen. 3. Rufen Sie Player.realize() auf, um die BlackBerry -Geräteanwendung auf das Abrufen der von ihr benötigten Ressourcen vorzubereiten. 4. Rufen Sie Player.prefetch() auf, um die BlackBerry-Geräteanwendung Aktionen ausführen zu lassen, die stattfinden müssen, bevor die BlackBerry-Geräteanwendung Medien wiedergeben kann. 5. Rufen Sie Player.start() auf, um die Wiedergabe von Medien zu starten. Player p = Manager.createPlayer(" * Best practice is to invoke realize(), then prefetch(), then start(). * Following this sequence reduces delays in starting media playback. * * Invoking start() as shown below will cause start() to invoke prefetch(0), * which invokes realize() before media playback is started. p.start(); 6. Rufen Sie Player.stop() auf, um die Wiedergabe von Medien zu beenden. 7. Rufen Sie Player.close() auf, um den Player in den Zustand CLOSED zu versetzen. Codebeispiel: Wiedergeben von Medien über einen URI private void initvideo(string url) try _player = javax.microedition.media.manager.createplayer(url); _player.realize(); _vc = (VideoControl) _player.getcontrol("videocontrol"); if (_vc!= null) _videofield = (Field) _vc.initdisplaymode( VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.field"); _vc.setvisible(true); catch(mediaexception pe) System.out.println(pe.toString()); 6

9 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt catch (IOException ioe) System.out.println(ioe.toString()); Codebeispiel: Wiedergeben einer Folge von Tönen ToneControl wird verwendet, um auf einem BlackBerry -Gerät eine benutzerdefinierte Folge von Noten mit einer bestimmten Länge und in einem bestimmten Tempo wiederzugeben. // "Mary Had A Little Lamb" has "ABAC" structure // Use block to repeat "A" section // Tempos ranging from 20 to 508 beats per minute are divided by 4 // to create a tempo modifier range of 5 to 127. byte tempo_mod = 30; // 120 bpm // Note duration ranges from 128 (1/2 note) to 0 (128th of a note) // with a default resolution of 64. byte duration = 8; // Note length 8 (quaver) = 1/8th of a note duration // Notes are determined from ToneControl.C4 (Middle C), // which has a value of 60 and a frequency of Hz. byte C4 = ToneControl.C4; // C note value = 60 (middle C) byte D4 = (byte)(c4 + 2); // D note value = 62 (a whole step) byte E4 = (byte)(c4 + 4); // E note value = 64 (a major third) byte G4 = (byte)(c4 + 7); // G note value = 67 (a fifth) byte rest = ToneControl.SILENCE; // rest byte[] mysequence = ToneControl.VERSION, 1, // version 1 ToneControl.TEMPO, tempo_mod, // // Start define "A" section ToneControl.BLOCK_START, 0, // // Content of "A" section E4, duration, D4, duration, C4, duration, E4, duration, E4, duration, E4, duration, E4, duration, rest, duration, // // End define "A" section ToneControl.BLOCK_END, 0, // end of block number 0 // // Play "A" section ToneControl.PLAY_BLOCK, 0, // // Play "B" section D4, duration, D4, duration, D4, duration, rest, duration, E4, duration, G4, duration, G4, duration, rest, duration, // // Repeat "A" section ToneControl.PLAY_BLOCK, 0, // // Play "C" section 7

10 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt D4, duration, D4, duration, E4, duration, D4, duration, C4, duration ; try Player p = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR); p.realize(); ToneControl c = (ToneControl)p.getControl("ToneControl"); c.setsequence(mysequence); p.start(); catch (IOException ioe) catch (MediaException me) Erstellen einer BlackBerry-Geräteanwendung, die Medien aus einem Eingabestream wiedergibt 1. Importieren Sie die erforderlichen Klassen. import java.lang.class; import javax.microedition.media.player; import javax.microedition.media.manager; import javax.microedition.rms.recordstore; import java.io.inputstream; import java.io.bytearrayinputstream; import net.rim.device.api.media.protocol.bytearrayinputstreamdatasource; 2. Erstellen Sie ein ByteArrayInputStream-Objekt. In diesem Beispiel wird getresourceasstream(string) aufgerufen, um die Mediendatei aus der Ressourcendatei an einem absoluten Speicherort abzurufen. ByteArrayInputStream stream = (ByteArrayInputStream)this.getClass ().getresourceasstream("/abc.mp3"); 3. Erstellen Sie einen durchsuchbaren SourceStream, indem Sie ein ByteArrayInputStreamDataSource-Objekt durch Übergeben des ByteArrayInputStream-Objekts erstellen. ByteArrayInputStreamDataSource source = new ByteArrayInputStreamDataSource (stream, "audio/mpeg"); 4. Rufen Sie ein Player-Objekt durch Aufrufen von Manager.createPlayer() ab und starten Sie dann mit start () die Medienwiedergabe. Player p = Manager.createPlayer(source); p.start(); 5. Sie könnten auch eine nicht durchsuchbare Methode verwenden, um wie im folgenden Codebeispiel Medien aus einem InputStream wiederzugeben. InputStream stream = (InputStream)this.getClass().getResourceAsStream("/abc.mp3"); Player p = Manager.createPlayer(stream, "audio/mpeg"); p.start(); 8

11 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Erstellen einer BlackBerry-Geräteanwendung, die Media-Streaming wiedergibt BlackBerry -Geräte mit BlackBerry Device Software Version oder höher, die EVDO unterstützt, unterstützen RTSP- Funktionalität. 1. Importieren Sie die erforderlichen Klassen. import javax.microedition.media.manager; import javax.microedition.media.player; 2. Rufen Sie zum Streaming von Medien Manager.createPlayer(String) auf, indem Sie einen Parameter übergeben, der einen RTSP-Locator darstellt. Player p = Manager.createPlayer("rtsp://streaming.rim com/streaming_video.3gp"); Erstellen einer BlackBerry-Geräteanwendung, die ein Video in einem Benutzeroberflächenfeld wiedergibt 1. Importieren Sie die erforderlichen Klassen und Schnittstellen. import net.rim.device.api.ui.field; import javax.microedition.media.manager; import javax.microedition.media.player; import javax.microedition.media.control.videocontrol; 2. Erstellen Sie die Variablen Player, VideoControl und Field. Player videoplayer; VideoControl videocontrol; Field videofield; 3. Rufen Sie Manager.createPlayer(String) auf, indem Sie einen Parameter übergeben, der ein URI ist, der die Videoinhalte beschreibt. Speichern Sie einen Verweis auf das Player-Objekt, das durch den Aufruf von createplayer (String) zurückgegeben wird. videoplayer = Manager createplayer("file:///sdcard/blackberry/videos/soccer1.avi"); 4. Rufen Sie Player.realize() auf, damit ein Player die Informationen abrufen kann, die er zum Abrufen von Medienressourcen benötigt. videoplayer.realize(); 5. Rufen Sie Player.getControl() auf und übergeben Sie einen Parameter, der das Control-Objekt darstellt, das zurückgegeben werden soll. Wandeln Sie das zurückgegebene Objekt in ein VideoControl-Objekt um. videocontrol = (VideoControl)_videoPlayer.getControl ( "javax.microedition.media.control.videocontrol"); 9

12 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt 6. Um den Modus zu initialisieren, den ein videofield zum Anzeigen des Videos verwendet, rufen Sie VideoControl.initDisplayMode(int mode, Object arg) auf und übergeben einen arg-parameter, der den primitiven Benutzeroberflächentyp angibt, der das Video anzeigt. Wandeln Sie das zurückgegebene Objekt in ein Field- Objekt um. videofield = (Field)_videoControl.initDisplayMode ( VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.field" ); Beachten Sie, dass initdisplaymode() auf unterschiedliche Weise aufgerufen werden kann, um wie oben dargestellt ein Field zurückzugeben, ein Item zur Verwendung mit MIDlets zurückzugeben oder ein Video auf einem Canvas- Objekt anzuzeigen. Erstellen einer BlackBerry-Geräteanwendung, die ein Foto mit der Kamera aufnimmt 1. Importieren Sie die erforderlichen Klassen und Schnittstellen. import net.rim.device.api.ui.field; import javax.microedition.media.manager; import javax.microedition.media.player; import javax.microedition.media.control.videocontrol; 2. Rufen Sie Manager.createPlayer(String) auf, indem Sie einen Parameter übergeben, der ein URI ist, der die Bildinhalte beschreibt. Player cameraplayer = Manager.createPlayer( "capture://video?encoding=jpeg" ); 3. Rufen Sie Player.realize() auf, damit ein Player die Informationen abrufen kann, die er zum Abrufen von Medienressourcen benötigt. cameraplayer.realize(); 4. Rufen Sie Player.getControl() auf, indem Sie einen Parameter übergeben, der die VideoControl-Klasse darstellt. Wandeln Sie das zurückgegebene Objekt in ein VideoControl-Objekt um. VideoControl videocontrol = (VideoControl)cameraPlayer.getControl( "javax.microedition.media.control.videocontrol"); 5. Rufen Sie VideoControl.initDisplayMode(int mode, Object arg) auf, um den Modus zu initialisieren, den ein videofield zum Anzeigen des Videos verwendet. 6. Rufen Sie VideoControl.getSnapshot() auf, um ein Byte-Array mit den JPEG-Daten für das von der Kamera aufgenommene Foto aufzufüllen. int[] imagebyte = videocontrol.getsnapshot(null); Das Übergeben von Null an getsnapshot() führt zur Aufnahme eines Fotos mit den Standard-Kameraeinstellungen. Sie können den Parameter für getsnapshot() anpassen, indem Sie System.getProperty() aufrufen, um zu ermitteln, welche Einstellungen verfügbar sind. 10

13 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt String encodingstring = System.getProperty("video.snapshot.encodings"); Rufen Sie stringtokeywords() auf, um die Eigenschaften auf separate String-Array-Elemente aufzuteilen. String[] properties = StringUtilities.stringToKeywords(encodingString); Von System.getProperty() werden vier Eigenschaften zurückgegeben, auf die in dem String-Array, das von stringtokeywords() zurückgegeben wird, einzeln zugegriffen werden kann. Die Eigenschaften sind "encoding", "width", "height" und "quality". Erstellen einer BlackBerry-Geräteanwendung, die Audiodaten an ein Bluetooth-fähiges Gerät sendet 1. Importieren Sie die erforderlichen Klassen. import javax.microedition.media.control; import javax.microedition.media.manager; import javax.microedition.media.player; import net.rim.device.api.media.control.audiopathcontrol; 2. Rufen Sie Manager.createPlayer(String) auf und übergeben Sie den Speicherort einer Audiodatei. Player p = javax.microedition.media.manager createplayer(" 3. Rufen Sie Player.realize() auf, um einem Player das Abrufen von Medienressourcen zu ermöglichen. p.realize(); 4. Rufen Sie Player.prefetch() auf. p.prefetch(); 5. Rufen Sie Player.getControls() auf, um das unterstützte AudioPathControl-Objekt abzurufen. AudioPathControl apc = (AudioPathControl)p.getControl( "net.rim.device.api.media.control.audiopathcontrol" ); 6. Führen Sie eine der folgenden Aufgaben aus. Aufgabe Senden von Audiodaten an ein Bluetooth -Gerät, das Sprachanrufe unterstützt. Schritte Rufen Sie AudioPathControl.setAudioPath(int) mit dem Attribut AudioPathControl.AUDIO_PATH_BLUETOOTH als Parameter auf, um Audiodaten an das Bluetooth-Gerät zu senden. apc.setaudiopath (AudioPathControl.AUDIO_PATH_BLUETOOTH); 11

14 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Aufgabe Senden von Audiodaten an ein Bluetooth-Gerät, das ein Bluetoothfähiges Gerät (z. B. ein Bluetooth- Stereo-Headset) unterstützt. Schritte Rufen Sie AudioPathControl.setAudioPath(int) mit dem Attribut AudioPathControl.AUDIO_ BLUETOOTH_A2DP als Parameter auf, um Audiodaten an das Bluetooth-Gerät zu senden. apc.setaudiopath(audiopathcontrol.audio_ BLUETOOTH_A2DP); Erstellen einer Content-Handler-Anwendung, die Medien wiedergibt In diesem Artikel wird beschrieben, wie mithilfe von JSR 211 eine Content-Handler-Anwendung entwickelt werden kann, um es Anwendungen zu ermöglichen, andere Anwendungen, einschließlich systemeigener BlackBerry -Geräteanwendungen, zur Verarbeitung bestimmter Inhaltstypen aufzurufen. Wenn Sie beispielsweise Ihren Content-Handler mit der Aktion SEND für die Verarbeitung von Video- oder Bildinhaltstypen registrieren, wird immer dann ein Menüelement angezeigt, wenn Sie ein Video oder Bild auf dem Kamera-Vorschaubildschirm, im Datei-Explorer usw. anzeigen. Wenn auf dieses Menüelement geklickt wird, wird Ihr Content-Handler mit einer SEND-Aktion und einem Link zum Video oder Bild aufgerufen. 1. Importieren Sie die erforderlichen Klassen. import javax.microedition.content.contenthandlerserver; import javax.microedition.content.requestlistener; import javax.microedition.content.registry; import javax.microedition.content.invocation; import javax.microedition.content.actionnamemap; 2. Erstellen Sie eine Klasse, die UiApplication erweitert und RequestListener implementiert. public final class SendMediaDemo extends UiApplication implements RequestListener 3. Behandeln Sie den Anwendungsstart. public static void main(string[] args) throws Exception if(args!= null && args.length > 0) if (args[0].equals("startup")) // Register ourselves as a content handler on startup register(); else // Create a new instance of the application and make the currently // running thread the application's event dispatching thread. SendMediaDemo app = new SendMediaDemo(); app.entereventdispatcher(); 4. Registrieren Sie die Anwendung als RequestListener. 12

15 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt public SendMediaDemo() throws ContentHandlerException // Get access to the ContentHandlerServer for this application and // register as a listener. ContentHandlerServer contenthandlerserver = Registry.getServer(CLASSNAME); contenthandlerserver.setlistener(this); 5. Erstellen Sie eine Methode für die Registrierung des Content-Handlers. Diese Methode verwendet Registry.register (), um sicherzustellen, dass diese Anwendung über externe Menüoptionen gestartet werden kann, um Videos und Bilder an diese Anwendung zu senden. private static void register() throws ContentHandlerException String[] types = "image/bmp", "image/png", "image/jpeg", "video/3gpp", "video/mp4"; String[] suffixes = ".bmp", ".png", ".jpg", ".3GP", ".mp4"; String[] actions = ContentHandler.ACTION_SEND; String[] actionnames = "Send to demo app"; ActionNameMap[] actionnamemaps = new ActionNameMap(actions,actionNames,"en"); // Get access to the registry Registry registry = Registry.getRegistry(CLASSNAME); // Register as a content handler registry.register(classname, types, suffixes, actions, actionnamemaps, ID, null); 6. Implementieren Sie RequestListener.invocationRequestNotify(). Dieser Handler wird aufgerufen, wenn eine andere Anwendung Inhalte an diese Anwendung übergibt. public void invocationrequestnotify(contenthandlerserver server) Invocation invoc = server.getrequest(false); if(invoc!= null) String type = invoc.gettype(); if(type.equals("image/bmp") type.equals("image/png") type.equals("image/jpeg")) byte[] data = getdata(invoc.geturl()); displayimage(data); else if(type.equals("video/3gpp") type.equals("video/mp4")) initvideo(invoc.geturl()); if(_videofield!= null) displayvideo(); else System.exit(0); server.finish(invoc, Invocation.OK); 13

16 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Codebeispiel: Erstellen einer Content-Handler-Anwendung, die Medien wiedergibt package com.rim.samples.device.sendmediademo; import java.io.*; import javax.microedition.content.*; import javax.microedition.io.*; import javax.microedition.media.*; import javax.microedition.media.control.*; import javax.microedition.io.file.*; import net.rim.device.api.system.*; import net.rim.device.api.ui.*; import net.rim.device.api.ui.component.*; import net.rim.device.api.ui.container.*; public final class SendMediaDemo extends UiApplication implements RequestListener private static final String ID = "com.rim.samples.device.sendmediademo"; private static final String CLASSNAME = "com.rim.samples.device.sendmediademo.sendmediademo"; private Player _player; private Field _videofield; private VideoControl _vc; * * Entry point for application args Command line arguments public static void main(string[] args) if(args!= null && args.length > 0) if (args[0].equals("startup")) // Register ourselves as a content handler on startup register(); else // Create a new instance of the application and make the currently // running thread the application's event dispatching thread. SendMediaDemo app = new SendMediaDemo(); app.entereventdispatcher(); * * Registers this application as a content handler for image files private static void register() String[] types = "image/bmp", "image/png", "image/jpeg", "video/3gpp", "video/mp4"; 14

17 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt String[] suffixes = ".bmp", ".png", ".jpg", ".3GP", ".mp4"; String[] actions = ContentHandler.ACTION_SEND; String[] actionnames = "Send to demo app"; ActionNameMap[] actionnamemaps = new ActionNameMap(actions,actionNames,"en"); // Get access to the registry Registry registry = Registry.getRegistry(CLASSNAME); try // Register as a content handler registry.register(classname, types, suffixes, actions, actionnamemaps, ID, null); catch (ContentHandlerException che) System.out.print(che.toString()); catch (ClassNotFoundException cnfe) System.out.print(cnfe.toString()); // Constructor public SendMediaDemo() try // Get access to the ContentHandlerServer for this application and // register as a listener. ContentHandlerServer contenthandlerserver = Registry.getServer(CLASSNAME); contenthandlerserver.setlistener(this); catch(contenthandlerexception che) System.out.println(che.toString()); * * RequestListener implementation server The content handler server from which to request Invocation objects public void invocationrequestnotify(contenthandlerserver server) Invocation invoc = server.getrequest(false); if(invoc!= null) String type = invoc.gettype(); if(type.equals("image/bmp") type.equals("image/png") type.equals("image/jpeg")) 15

18 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt byte[] data = getdata(invoc.geturl()); displayimage(data); else if(type.equals("video/3gpp") type.equals("video/mp4")) initvideo(invoc.geturl()); if(_videofield!= null) displayvideo(); else System.exit(0); server.finish(invoc, Invocation.OK); * * Sets the size of the video width Width of the video display height Height of the video display private void setvideosize(int width, int height) try if (_vc!= null) _vc.setdisplaysize(width, height); catch(mediaexception pe) System.out.println(pe.toString()); * * Creates and initializes a video player url The URL of the video file to play private void initvideo(string url) try _player = javax.microedition.media.manager.createplayer(url); _player.realize(); _vc = (VideoControl) _player.getcontrol("videocontrol"); if (_vc!= null) _videofield = (Field) _vc.initdisplaymode (VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.field"); 16

19 Erstellen einer BlackBerry-Geräteanwendung, die Medien wiedergibt _vc.setvisible(true); catch(mediaexception pe) System.out.println(pe.toString()); catch (IOException ioe) System.out.println(ioe.toString()); * * Returns a byte array containing data representing the image at the specified URL url The location of the image to display The image data private byte[] getdata(string url) byte[] data = new byte[0]; try FileConnection file = (FileConnection)Connector.open(url); int filesize = (int)file.filesize(); data = new byte[filesize]; InputStream inputstream = file.openinputstream(); inputstream.read(data); catch(exception e) System.out.println(e.toString()); return data; * * Creates a screen and displays the image data The data representing the image to be rendered private void displayimage(byte [] data) // Create image field Bitmap image = Bitmap.createBitmapFromBytes( data, 0, -1, 5); BitmapField imagefield = new BitmapField( image, Field.FIELD_HCENTER); // Create and display screen MainScreen screen = new MainScreen(net.rim.device.api.ui.Manager.NO_VERTICAL_SCROLL); screen.settitle("send Media Demo"); screen.add(imagefield); pushscreen(screen); 17

20 * * Creates a video screen and starts the video player private void displayvideo() // Create and display screen VideoMainScreen screen = new VideoMainScreen(); screen.settitle("send Media Demo"); screen.add(_videofield); pushscreen(screen); try // Start media player _player.start(); catch(mediaexception pe) System.out.println(pe.toString()); * * A main screen in which to play video files final private class VideoMainScreen extends MainScreen // Constructor VideoMainScreen() super(net.rim.device.api.ui.manager.no_vertical_scroll); * net.rim.device.api.ui.manager#sublayout(int,int) protected void sublayout(int width, int height) setvideosize(display.getwidth(), Display.getHeight()); super.sublayout(width, height); * net.rim.device.api.ui.screen#onclose() public boolean onclose() _player.close(); return super.onclose(); 18

21 Festlegen der Funktionen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Festlegen der Funktionen einer BlackBerry-Geräteanwendung, die Medien wiedergibt Abfragen der von einer BlackBerry-Geräteanwendung unterstützten Funktionen zur Medienwiedergabe Ihre BlackBerry -Geräteanwendung kann verschiedene Wiedergabefunktionen abfragen, zu denen der Videoanzeigemodus, die Position des Videos in Bezug auf die Bildschirm-Canvas, die x- und y-koordinaten des Videos in Bezug auf das Benutzeroberflächenobjekt zur Videoanzeige sowie Audiopegel gehören. Festlegen der Parameter für die Videowiedergabe innerhalb einer BlackBerry- Geräteanwendung 1. Importieren Sie die erforderlichen Klassen. import javax.microedition.media.manager; import javax.microedition.media.player; import javax.microedition.media.control.videocontrol; 2. Initialisieren Sie eine Instanz eines Player-Objekts und bereiten Sie diese vor. Player player = Manager.createPlayer("file:///SDCard/BlackBerry/videos/myvid.mp4"); player.realize(); 3. Rufen Sie das Videosteuerelement ab. VideoControl videocontrol = (VideoControl) player.getcontrol("videocontrol"); videocontrol.initdisplaymode(videocontrol.use_direct_video, this); 4. Um das Videosteuerelement in der Canvas einzubetten, geben Sie die Eigenschaften des Videosteuerelements an. videocontrol.setdisplaylocation(20, 30); videocontrol.setdisplaysize(160, 90); videocontrol.setvisible(true); 5. Die VideoControl-Schnittstelle wird implementiert, um eine BlackBerry -Geräteanwendung mit verschiedenen Funktionen zur Unterstützung der Videowiedergabe auszustatten. Führen Sie eine der folgenden Aktionen aus: Steuern Sie den Videoanzeigemodus mithilfe von USE_GUI_PRIMITIVE oder USE_DIRECT_VIDEO. Steuern Sie die Position des Videos in Bezug auf die Canvas, auf der das Video angezeigt wird. Greifen Sie auf die x- und die y-koordinate des Videos in Bezug auf das Benutzeroberflächenobjekt zu, das das Video anzeigt oder ausblendet. 19

22 Reagieren auf Benutzereingaben Festlegen der Lautstärke, mit der eine BlackBerry-Geräteanwendung Medien wiedergibt 1. Importieren Sie die erforderlichen Klassen. import net.rim.device.api.ui.screen; import javax.microedition.lcdui.canvas; import javax.microedition.media.control.volumecontrol; 2. Legen Sie die Lautstärke der Medienanwendung fest. VolumeControl volume = (VolumeControl) player.getcontrol("volumecontrol"); volume.setlevel(80); 3. Führen Sie eine der folgenden Aufgaben aus. Aufgabe Erfassen von Lautstärketasten-Ereignissen in einer MIDP-Anwendung. Erfassen von Lautstärketasten-Ereignissen in einer BlackBerry - Geräteanwendung. Implementieren von KeyListener zur Erfassung und Behandlung von Tastenereignissen in einer BlackBerry - Geräteanwendung. Schritte a. Erstellen Sie eine Klasse, die die Canvas-Klasse erweitert. b. Überschreiben Sie die Canvas.keyPressed()-Methode. a. Erstellen Sie eine Klasse, die die Screen-Klasse erweitert. b. Überschreiben Sie Screen.keyControl(). Erstellen Sie eine Klasse, die KeyListener implementiert, und implementieren Sie keychar(), keystatus(), keydown(), keyrepeat() und keyup (). Verwenden Sie keydown(), um das Drücken von Lautstärketasten auf BlackBerry-Geräten mit Medientasten zu verarbeiten. Reagieren auf Benutzereingaben Empfangen einer Benachrichtigung, wenn ein Benutzer eine Medientaste auf einem BlackBerry-Gerät drückt Eine BlackBerry -Geräteanwendung kann mithilfe der KeyListener-Schnittstelle Tastenereignisse abonnieren. KeyListener empfängt alle Tastenereignisse, wenn sich die Anwendung im Vordergrund befindet, und unbehandelte globale Tastenereignisse, wenn sich die Anwendung im Hintergrund befindet. 20

23 Reagieren auf Benutzereingaben Zu den Medientasten gehören "Lautstärke erhöhen", "Lautstärke verringern", "Vorwärts", "Rückwärts" und eine Kombinationstaste für Stummschaltung, Wiedergabe und Pause. Einige BlackBerry-Geräte verfügen über zusätzliche dedizierte Medientasten, zu denen Keypad.KEY_FORWARD und Keypad.KEY_BACKWARD gehören. Das Vorhandensein dieser Medientasten kann mithilfe von Keypad.hasMediaKeys() ermittelt werden. Einige BlackBerry-Geräte verfügen zudem über eine Stummschalttaste, während andere eine Freisprechanlage-Taste aufweisen. Beiden Tasten ist dieselbe Tastenkonstante, Keypad.KEY_SPEAKERPHONE, zugewiesen. Um zu bestimmen, ob es sich bei einem Tastendruck von KEY_SPEAKERPHONE um einen Druck auf die Stummschalttaste oder die Freisprechanlage-Taste handelt, verwenden Sie Keypad.hasMuteKey(). 1. Importieren Sie die erforderliche Klasse und Schnittstelle. import net.rim.device.api.ui.keypad; import net.rim.device.api.ui.container.mainscreen; 2. Erstellen Sie eine Klasse, die MainScreen erweitert, KeyListener implementiert und den Listener mit addkeylistener() registriert. class KeyListenerDemo extends MainScreen implements KeyListener public KeyListenerDemo() addkeylistener(this); Reagieren auf das Drücken einer Lautstärketaste durch einen BlackBerry-Gerätebenutzer 1. Importieren Sie die erforderlichen Klassen. import net.rim.device.api.ui.screen; import net.rim.device.api.system.characters; 2. Erstellen Sie eine Klasse, die die Screen-Klasse erweitert. 3. Überschreiben Sie Screen.keyControl(). protected boolean keycontrol(char c, int status, int time) 4. Identifizieren Sie die Lautstärketaste, die vom BlackBerry-Gerätebenutzer betätigt wird. if (c == Characters.CONTROL_VOLUME_UP) else if (c == Characters.CONTROL_VOLUME_DOWN) Anmerkung: In der net.rim.device.api.media.mediakeylistener-klasse werden die Methoden keydown(), keyrepeat() und keyup() mit Keypad.KEY_VOLUME_UP und Keypad.KEY_VOLUME_DOWN aufgerufen, was im Vergleich zur Verwendung von keychar() eine präzisere Steuerung ermöglicht. Reagieren auf eine Statusänderung eines Player-Objekts 1. Importieren Sie die erforderlichen Klassen. 21

24 Media-Streaming in einer BlackBerry-Geräteanwendung import javax.microedition.media.player; import javax.microedition.media.playerlistener; import javax.microedition.media.mediaexception; import java.io.ioexception; 2. Rufen Sie addplayerlistener() auf, um Änderungen des Status des Player-Objekts zu empfangen. private void doplay() throws IOException, MediaException Player p = Manager.createPlayer("file:///SDCard/BlackBerry/music/theo.mp3"); p.addplayerlistener(this); p.realize(); p.prefetch(); p.start(); 3. Überschreiben Sie playerupdate(), um ein Medienereignis an den registrierten PlayerListener zu senden. public void playerupdate(player player, final String event, Object eventdata) if (event.equals(volume_changed)) else if (event.equals(started )) else if (event.equals(stopped)) else if (event.equals(duration_updated)) else if (event.equals(end_of_media)) //Add code for actions if the end of media is reached. //Release resources when end of media event is received player.close(); Media-Streaming in einer BlackBerry-Geräteanwendung Um Daten von einer Remote-Quelle per Streaming an eine BlackBerry -Geräteanwendung zu übertragen, müssen Sie die Quelle puffern und steuern, wie die Medienanwendung die Daten liest. Erweitern Sie DataSource und erstellen Sie eine benutzerdefinierte Implementierung von SourceStream, um Daten an die Medienanwendung zu senden. RIMM-Streaming-Videodatei Das proprietäre RIM-Videoformat (RIMM-Streaming-Datei) besteht aus einer Kopfzeile, einer Liste von Frames und einer Fußzeile. Die Datei enthält auch einen Deskriptor, der zusätzliche Metadaten speichert. Die Position dieses Deskriptors hängt vom Aufzeichnungsziel ab. Wenn das Aufzeichnungsziel eine Datei ist, befindet sich der Deskriptor am Ende der Kopfzeile vor der Liste der Frames. Wenn das Aufzeichnungsziel ein Stream ist, befindet sich der Deskriptor hinter der Liste der Frames in der Fußzeile. 22

25 Media-Streaming in einer BlackBerry-Geräteanwendung Proprietäres RIM-Videoformat (RIMM-Streaming-Datei) Das proprietäre RIM-Videoformat besteht aus einer Kopfzeile, einer Liste von Frames und einer Fußzeile. Beim Parsing dieser Datei müssen Sie die Werte vom Typ int oder short von Little-Endian in Big-Endian übersetzen. Kopfzeile Feld Wert Größe ID-Tag RIMM 4 B Version 0 3 B Deskriptorposition 0 beim Aufzeichnen in einer Datei 1 B 1 beim Aufzeichnen in einem Stream Deskriptor Deskriptorwerte 79 B beim Aufzeichnen in einer Datei Frames 0 B beim Aufzeichnen in einem Stream Feld Wert Größe Stream-Typ 0, wenn es sich um einen Audioframe handelt 1, wenn es sich um einen Videoframe handelt Schlüsselframe 1, wenn es sich um einen Schlüsselframe handelt andernfalls 0 Konfigurationsframe 1, wenn es sich um einen Konfigurationsframe handelt andernfalls 0 Größe Framegröße in Byte 30 b Dauer Länge des Videos in Millisekunden 2 B Daten Die eigentlichen Framedaten <Größe> B Stream-Typ 0, wenn es sich um einen Audioframe handelt 1 B 1 B 1 b 1 b 23

26 Media-Streaming in einer BlackBerry-Geräteanwendung Feld Wert Größe 1, wenn es sich um einen Videoframe handelt Schlüsselframe 1, wenn es sich um einen Schlüsselframe handelt andernfalls 0 Konfigurationsframe 1, wenn es sich um einen Konfigurationsframe handelt andernfalls 0 Größe Framegröße in Byte 30 b Dauer Länge des Videos in Millisekunden 2 B Anmerkung: Das Schlüsselframe-, das Konfigurationsframe- und das Größenfeld werden in einer 32-Bit-int-Ganzzahl gespeichert, wobei das Schlüsselframe- und das Konfigurationsframefeld in den ersten beiden Bit gespeichert werden. Fußzeile 1 b 1 b Feld Wert Größe Deskriptor Deskriptorwerte 79 Byte beim Aufzeichnen in einem Stream 0 Byte beim Aufzeichnen in einer Datei Deskriptor Feld Wert Größe Audioframes Anzahl der Audioframes 4 B Videoframes Anzahl der Videoframes 4 B Audio- Anzahl der Audio-Schlüsselframes 4 B Schlüsselframes Video- Anzahl der Video-Schlüsselframes 4 B Schlüsselframes Audio-Frameraten Anzahl der Audio-Frameraten (Anzahl der 4 B Frameratenänderungen + 1) Video-Frameraten Anzahl der Video-Frameraten (Anzahl der 4 B Frameratenänderungen + 1) Audiogröße Größe des Audiostreams in Byte 4 B 24

27 Media-Streaming in einer BlackBerry-Geräteanwendung Feld Wert Größe Videogröße Größe des Videostreams in Byte 4 B Video-Framerate Die anfängliche Video-Framerate in Frames pro 4 B Sekunde Max. Größe des größten Videoframes in Byte 4 B Videoframegröße Audiodauer Länge des Audiostreams in Millisekunden 4 B Videodauer Länge des Videostreams in Millisekunden 4 B RESERVIERT Nicht definiert 20 B Breite Die Breite des Videos in Pixeln 2 B Höhe Die Höhe des Videos in Pixeln 2 B Video-Codec 2, wenn dieser Video-Codec mpeg4 ist 2 B 5, wenn dieser Video-Codec H.263 ist 6, wenn dieser Video-Codec H.264 ist Audio-Codec 0, wenn dieser Audio-Codec PCM ist 7, wenn dieser Audio-Codec AMR ist 0xA, wenn dieser Audio-Codec AAC ist 1 B Puffern und Wiedergeben von per Streaming übertragenen Medieninhalten Mithilfe der Multimedia-API können Sie eine benutzerdefinierte Klasse erstellen, die javax.microedition.media.protocol.datasource erweitert, um anzupassen, wie Daten vom Media Player des BlackBerry -Geräts aus Ihrer Anwendung gelesen werden. DataSource stellt eine SourceStream-Implementierung bereit, die SourceStream.read() zum Übertragen von Daten verwendet. 1. Importieren Sie die erforderlichen Klassen und Schnittstellen. import java.lang.thread; import java.io.inputstream; import java.io.outputstream; import javax.microedition.media.protocol.datasource; import javax.microedition.media.protocol.sourcestream; import javax.microedition.io.contentconnection; import javax.microedition.io.file.fileconnection; import net.rim.device.api.io.sharedinputstream; 2. Erstellen Sie eine benutzerdefinierte Klasse, die die abstrakte javax.microedition.media.protocol.datasource-klasse erweitert. public final class LimitedRateStreamingSource extends DataSource 25

28 Media-Streaming in einer BlackBerry-Geräteanwendung 3. Deklarieren Sie Instanzfelder, die Sie für Ihre DataSource-Implementierung benötigen. Die folgenden Felder stammen aus dem Beispielprojekt "bufferedplaybackdemo". * The stream connection over which media content is passed private ContentConnection _contentconnection; * An input stream shared between several readers private SharedInputStream _readahead; * A stream to the buffered resource private LimitedRateSourceStream _feedtoplayer; * The MIME type of the remote media file private String _forcedcontenttype; * The thread which retrieves the remote media file private ConnectionThread _loaderthread; * The local save file into which the remote file is written private FileConnection _savefile; * A stream for the local save file private OutputStream _savestream; 4. Erstellen Sie einen Konstruktor für Ihre benutzerdefinierte Klasse. LimitedRateStreamingSource(String locator) super(locator); 5. Implementieren Sie javax.microedition.media.protocol.datasource.connect(). Mit dieser Methode wird eine Verbindung zu der vom Locator beschriebenen Quelle hergestellt und die Kommunikation eingeleitet. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". public void connect() throws IOException 6. Implementieren Sie javax.microedition.media.protocol.datasource.disconnect(). Mit dieser Methode wird die Verbindung zu der vom Locator beschriebenen Quelle getrennt und die zur Aufrechterhaltung der Verbindung verwendeten Ressourcen werden freigegeben. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". public void disconnect() 7. Implementieren Sie javax.microedition.media.protocol.datasource.getcontenttype(). Mit dieser Methode wird ein String abgerufen, der den Inhaltstyp der Medien beschreibt, die von der Quelle bereitgestellt werden. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". public String getcontenttype() return _feedtoplayer.getcontentdescriptor().getcontenttype(); 8. Implementieren Sie javax.microedition.media.protocol.datasource.getstreams(). Mit dieser Methode wird eine Sammlung von Streams abgerufen, die von dieser Quelle verwaltet werden. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". 26

29 Media-Streaming in einer BlackBerry-Geräteanwendung public SourceStream[] getstreams() return new SourceStream[] _feedtoplayer ; 9. Implementieren Sie javax.microedition.media.protocol.datasource.start(). Mit dieser Methode wird die Datenübertragung eingeleitet. Sie muss aufgerufen werden, bevor Daten zum Lesen verfügbar sind. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". public void start() throws IOException if (_savestream!= null) _loaderthread = new ConnectionThread(); _loaderthread.start(); 10. Implementieren Sie javax.microedition.media.protocol.datasource.stop(). Mit dieser Methode wird die Datenübertragung beendet. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". public void stop() throws IOException // Set the boolean flag to stop the thread _stop = true; 11. Erstellen Sie eine Klasse, die javax.microedition.media.protocol.sourcestream implementiert. In diesem Beispiel wird eine innere Klasse verwendet, um einen Stream für die gepufferte Medienressource bereitzustellen. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". private final class LimitedRateSourceStream implements SourceStream 12. Implementieren Sie getseektype(), um zurückzugeben, ob Medien während der Wiedergabe durchsuchbar sind. public int getseektype() return SEEKABLE_TO_START; 13. Implementieren Sie innerhalb dieser inneren Klasse javax.microedition.media.protocol.sourcestream.read(). Mit dieser Methode werden Daten aus dem Eingabestream in ein Byte-Array eingelesen. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". public int read(byte[] bytes, int off, int len) throws IOException 14. Sie sollten innerhalb dieser inneren Klasse auch seek(), tell() und close() implementieren. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". 15. Schließen Sie die innere Klasse ab und erstellen Sie eine weitere innere Klasse, die java.lang.thread erweitert. Verwenden Sie diese beim Erstellen eines Threads, um die Remote-Datei herunterzuladen und sie in die lokale Datei zu schreiben. Weitere Informationen finden Sie im Beispielprojekt "bufferedplaybackdemo". private final class ConnectionThread extends Thread 27

30 Media-Streaming in einer BlackBerry-Geräteanwendung Codebeispiel: Media-Streaming in einer BlackBerry-Geräteanwendung * * A thread which downloads the remote file and writes it to the local file * From bufferedplaybackdemo\limitedratestreamingsource.java private final class ConnectionThread extends Thread * * Download the remote media file, then write it to the local file. public void run() try byte[] data = new byte[read_chunk]; int len = 0; // Until we reach the end of the file while (-1!= (len = _readahead.read(data))) _totalread += len; if (!_bufferingcomplete && _totalread > getstartbuffer()) // We have enough of a buffer to begin playback _bufferingcomplete = true; System.out.println("Initial Buffering Complete"); // updateloadstatus("buffering Complete"); if (_stop) // Stop reading return; System.out.println("Downloading Complete"); System.out.println("Total Read: " + _totalread); // If the downloaded data is not the same size // as the remote file, something is wrong. if (_totalread!= _contentconnection.getlength()) System.err.println("* Unable to Download entire file *"); _downloadcomplete = true; _readahead.setcurrentposition(0); // Write downloaded data to the local file while (-1!= (len = _readahead.read(data))) _savestream.write(data); catch (Exception e) System.err.println(e.toString()); 28

31 Media-Streaming in einer BlackBerry-Geräteanwendung Codebeispiel: Lesen von Daten aus einem Puffer Wenn die Medienanwendung alle Daten im Puffer liest, kann die BlackBerry -Geräteanwendung von der Medienanwendung gesendete Leseanforderungen blockieren, bis mehr Daten gepuffert wurden. Halten Sie Lesevorgänge an, um sicherzustellen, dass im Puffer die festgelegte Menge von Audiodaten für die Wiedergabe vorhanden ist. public int read(byte[] b, int off, int len) throws IOException // Read from a SharedInputStream that is shared // with the same Stream that the ConnectionThread // is downloading to. Although both streams handle // the same data, each stream has a separate read location. // The ConnectionThread works to keep its read location // as far ahead of the current playback position as possible. System.out.println("Read Request for: " + len + " bytes"); // limit bytes read to our readlimit. int readlength = len; if (readlength > getreadlimit()) readlength = getreadlimit(); int available; boolean restart_pause = false; for (;;) * A read action is be restricted by the amount of data * available for a read operation. The application needs * to download a specific amount of data before the * application can start to playback audio. * Enough data must be available to perform a full read * operation. In this sample, the application configures * the amount of data that is required to start the playback * of audio and to perform a read operation. The application * uses the ReadLimit value to control the amount of data * the second readerreads during a read operation. * * The application uses the PauseBytes setting to determine * when the second reader has read all the data currently * provided by the first variable reader. When this occurs, * the application pauses until there is enough data in the * buffer for a read operation. * * The application uses the RestartBytes setting to define * when there is enough data in the buffer to perform a * read operation. available = _basesharedstream.available(); if (downloadcomplete) 29

Mobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI

Mobile Computing. J2ME - Mobile Media API. Ablauf. 1. Anwendungsbereich. 1. Multimedia-Prozesse. 1. Eigenschaften der MMAPI Mobile Computing Mobile Media API Ein Einblick in die Multimedia- Programmierung von Pocket-Devices Ablauf 1. Überblick über J2ME und die MMAPI 2. Klassen und Interfaces 3. Abspielen 4. Aufnehmen 5. MIDlet

Mehr

Technische Dokumentation SilentStatistikTool

Technische Dokumentation SilentStatistikTool Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...

Mehr

iphone-kontakte zu Exchange übertragen

iphone-kontakte zu Exchange übertragen iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch - 1 - Inhalt 1 Einführung... 3 2 Installation und Einrichtung... 4 3 Funktionalität des KIP Druckerstatus... 6 4 Benutzung des KIP Druckerstatus...

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Konzept zur Push Notification/GCM für das LP System (vormals BDS System) Konzept zur Push Notification/GCM für das LP System (vormals BDS System) Wir Push Autor: Michael Fritzsch Version: 1.0 Stand: 04. Februar 2015 Inhalt 1. Was ist eine Push Notification? 2. Wofür steht GCM?

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Vision für Mac BENUTZERHANDBUCH

Vision für Mac BENUTZERHANDBUCH Vision für Mac BENUTZERHANDBUCH Copyright 1981-2015 Netop Business Solutions A/S. Alle Rechte vorbehalten. Teile unter Lizenz Dritter. Senden Sie Ihr Feedback an: Netop Business Solutions A/S Bregnerodvej

Mehr

Anweisungen zur Installation und Entfernung von Windows PostScript- und PCL-Druckertreibern Version 8

Anweisungen zur Installation und Entfernung von Windows PostScript- und PCL-Druckertreibern Version 8 Anweisungen zur Installation und Entfernung von Windows PostScript- und PCL-Druckertreibern Version 8 Diese README-Datei enthält Anweisungen zum Installieren des Custom PostScript- und PCL- Druckertreibers

Mehr

F-Secure Mobile Security for Nokia E51, E71 und E75. 1 Installation und Aktivierung F-Secure Client 5.1

F-Secure Mobile Security for Nokia E51, E71 und E75. 1 Installation und Aktivierung F-Secure Client 5.1 F-Secure Mobile Security for Nokia E51, E71 und E75 1 Installation und Aktivierung F-Secure Client 5.1 Hinweis: Die Vorgängerversion von F-Secure Mobile Security muss nicht deinstalliert werden. Die neue

Mehr

MailUtilities: Remote Deployment - Einführung

MailUtilities: Remote Deployment - Einführung MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control

Mehr

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Neues Projekt (Klassenbibliothek) erzeugen Als Projektbezeichnung wählte ich BeispielComAddIn. Add-In-Starter-Klasse erstellen Die

Mehr

Client Server Abfrage- und Verwaltungssoftware SRX 20XXXIP. Anleitung

Client Server Abfrage- und Verwaltungssoftware SRX 20XXXIP. Anleitung Client Server Abfrage- und Verwaltungssoftware SRX 20XXXIP Anleitung 1 Inhaltsangabe 1. Anmelden am System 2. Liveansicht starten 3. Wiedergabe Starten 4. Auslagerung von Videos 5. Auslagern von Bildern

Mehr

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver Eine Firewall für Lexware professional oder premium konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Die Firewall von Windows 7 und Windows 2008 Server... 2 4. Die Firewall

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

FIREPLACE EXPANDABLE BANNER v1.01

FIREPLACE EXPANDABLE BANNER v1.01 FIREPLACE EXPANDABLE BANNER v1.01 1. VORAUSSETZUNGEN Installierter Flash MediaMind Workshop: http://demo.mediamind.com/training_zone/workshop/download.asp Working with MediaMind: download url Vor dem Beginn

Mehr

So nutzen Sie die HiDrive App mit Ihrem Android Smartphone

So nutzen Sie die HiDrive App mit Ihrem Android Smartphone So nutzen Sie die HiDrive App mit Ihrem Android Smartphone Die STRATO HiDrive App ermöglicht Ihnen die bequeme Nutzung Ihres Kontos mit Ihrem Android Smartphone. Betrachten Sie direkt Ihre Inhalte und

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

English. Deutsch. niwis consulting gmbh (https://www.niwis.com), manual NSEPEM Version 1.0

English. Deutsch. niwis consulting gmbh (https://www.niwis.com), manual NSEPEM Version 1.0 English Deutsch English After a configuration change in the windows registry, you have to restart the service. Requirements: Windows XP, Windows 7, SEP 12.1x With the default settings an event is triggered

Mehr

FLASH. Flash und Video. Flash und Video, macht das Sinn?

FLASH. Flash und Video. Flash und Video, macht das Sinn? FLASH Flash und Video Flash und Video Flash und Video, macht das Sinn?! Ja, weil es eine wichtige Präsentationsform ist, gerade dort, wo reale Abläufe dargestellt werden müssen! Ja, weil es zum Teil eine

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Windows Server 2012 R2 Essentials & Hyper-V

Windows Server 2012 R2 Essentials & Hyper-V erklärt: Windows Server 2012 R2 Essentials & Hyper-V Windows Server 2012 R2 Essentials bietet gegenüber der Vorgängerversion die Möglichkeit, mit den Boardmitteln den Windows Server 2012 R2 Essentials

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Sametime Meetings - Taskreferenz

Sametime Meetings - Taskreferenz Sametime Meetings - Taskreferenz ii Sametime Meetings - Taskreferenz Inhaltserzeichnis Sametime Meetings - Taskreferenz... 1 iii i Sametime Meetings - Taskreferenz Sametime Meetings - Taskreferenz Mit

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

MobiDM-App Handbuch für Windows Mobile

MobiDM-App Handbuch für Windows Mobile MobiDM-App Handbuch für Windows Mobile Dieses Handbuch beschreibt die Installation und Nutzung der MobiDM-App für Windows Mobile Version: x.x MobiDM-App Handbuch für Windows Mobile Seite 1 Inhalt 1. WILLKOMMEN

Mehr

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Stand 21.11.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3010, tiptel 3020 und tiptel 3030

Mehr

terra CLOUD IaaS Handbuch Stand: 02/2015

terra CLOUD IaaS Handbuch Stand: 02/2015 terra CLOUD IaaS Handbuch Stand: 02/2015 Inhaltsverzeichnis 1 Einleitung... 3 2 Voraussetzungen für den Zugriff... 3 3 VPN-Daten herunterladen... 4 4 Verbindung zur IaaS Firewall herstellen... 4 4.1 Ersteinrichtung

Mehr

Intrexx unter Windows Server 2008

Intrexx unter Windows Server 2008 Intrexx unter Windows Server 2008 1. Ausgangslage: Um den Intrexx Server auf einem Windows Server 2008 verwenden zu können, ist es zunächst notwendig, den Internet Information Server (IIS) zu installieren,

Mehr

Timer-Dienst (070212)

Timer-Dienst (070212) Timer-Dienst (070212) Timer-Dienst (070212)...1 Voraussetzungen...1 Installation...1 Dienst konfigurieren...4 Dienst für mehrere Instanzen und / oder mehrere Datenbanken konfigurieren...5 Eventlog-Einträge

Mehr

Facebook: www.facebook.com/finisinc. You Tube: www.youtube.com/finisswim. Download Multilingual Instruction Manuals: www.finisinc.

Facebook: www.facebook.com/finisinc. You Tube: www.youtube.com/finisswim. Download Multilingual Instruction Manuals: www.finisinc. Instruction Manual Technical Support Customer Care USA: 800.388.7404 Europe: 359.2.936. 86.36 Web: www.finisinc.com/support Facebook: www.facebook.com/finisinc Twitter: www.twitter.com/finisswim You Tube:

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Tutorial Windows XP SP2 verteilen

Tutorial Windows XP SP2 verteilen Tutorial Windows XP SP2 verteilen Inhaltsverzeichnis 1. Einführung... 3 2. Windows XP SP2 bereitstellen... 3 3. Softwarepaket erstellen... 4 3.1 Installation definieren... 4 3.2 Installationsabschluss

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard

Anleitung zum Importieren, Durchführen und Auswerten von Umfragen in Blackboard Center für Digitale Systeme Kompetenzzentrum e-learning / Multimedia Arbeitsbereich e-learning: Qualitätsförderung und Schulung evaluation@cedis.fu-berlin.de April 2010 Anleitung zum Importieren, Durchführen

Mehr

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung Eltako-FVS Lizenzaktivierung ohne Internetverbindung Aktivierung der Funk-Visualisierungs- und Steuerungs-Software FVS über die Lizenzaktivierungsdatei, sofern die direkte Eingabe des Lizenzschlüssels

Mehr

MobiDM-App Handbuch für Windows Phone

MobiDM-App Handbuch für Windows Phone MobiDM-App Handbuch für Windows Phone Dieses Handbuch beschreibt die Installation und Nutzung der MobiDM-App für Windows Phone Version: x.x MobiDM-App Handbuch für Windows Phone Seite 1 Inhalt 1. WILLKOMMEN

Mehr

Anleitung Lernobjekt-Depot (LOD)

Anleitung Lernobjekt-Depot (LOD) Anleitung Lernobjekt-Depot (LOD) Anwender von easylearn können voneinander profitieren. Das Lernobjekt-Depot steht allen Benutzern zur Verfügung, um Lernobjekte wie Knowledge Snacks, etc untereinander

Mehr

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003 Page 1 of 11 Konfiguration NNTP unter Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 14.03.2005 Das Network News Transfer Protocol (NNTP) wird durch die Request for Comments

Mehr

BlackBerry Bridge. Version: 3.0. Benutzerhandbuch

BlackBerry Bridge. Version: 3.0. Benutzerhandbuch Version: 3.0 Benutzerhandbuch Veröffentlicht: 2013-02-07 SWD-20130207130441947 Inhaltsverzeichnis... 4 -Funktionen... 4 Herstellen einer Tablet-Verbindung mit... 4 Öffnen eines Elements auf dem Tablet-Bildschirm...

Mehr

Das Starten von Adami Vista CRM

Das Starten von Adami Vista CRM Das Starten von Adami Vista CRM 1. Herunterladen Der AdamiVista Installations-Kit wird auf unsere Website zur verfügung gestellt, auf die Download Seite: http://www.adami.com/specialpages/download.aspx.

Mehr

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren IPHONE UM ALLE DATEN des alten Telefons auf einen Computer Software von welcomehome.to/nokia auf Ihrem PC oder Mac. verbinden Sie Ihr altes Telefon über 3. Wenn Sie Outlook nutzen, öffnen Sie itunes, um

Mehr

System-Update Addendum

System-Update Addendum System-Update Addendum System-Update ist ein Druckserverdienst, der die Systemsoftware auf dem Druckserver mit den neuesten Sicherheitsupdates von Microsoft aktuell hält. Er wird auf dem Druckserver im

Mehr

Revox Joy S232 App D 1.0

Revox Joy S232 App D 1.0 Inhalt Revox Joy S232 App 1 D 1.0 Revox M-Serie Android App M235 Inhalt Herzlich Willkommen... 3 Funktionsumfang... 3 Voraussetzungen... 3 Installation... 3 Versionsnummer... 4 Konfiguration... 5 Erweiterte

Mehr

Verwenden von Adobe LiveCycle ES3 Connector für Microsoft SharePoint

Verwenden von Adobe LiveCycle ES3 Connector für Microsoft SharePoint Verwenden von Adobe LiveCycle ES3 Connector für Microsoft SharePoint Rechtliche Hinweise Rechtliche Hinweise Weitere Informationen zu rechtlichen Hinweisen finden Sie unter http://help.adobe.com/de_de/legalnotices/index.html.

Mehr

VIDA ADMIN KURZANLEITUNG

VIDA ADMIN KURZANLEITUNG INHALT 1 VIDA ADMIN... 3 1.1 Checkliste... 3 1.2 Benutzer hinzufügen... 3 1.3 VIDA All-in-one registrieren... 4 1.4 Abonnement aktivieren und Benutzer und Computer an ein Abonnement knüpfen... 5 1.5 Benutzername

Mehr

MPEG2Schnitt (Freeware) - demuxte Videodaten schneiden und verketten. framegenauer Schnitt mit Bild-Ton-Synchronisierung und Fehlerkorrekturen

MPEG2Schnitt (Freeware) - demuxte Videodaten schneiden und verketten. framegenauer Schnitt mit Bild-Ton-Synchronisierung und Fehlerkorrekturen MPEG2Schnitt (Freeware) - demuxte Videodaten schneiden und verketten framegenauer Schnitt mit Bild-Ton-Synchronisierung und Fehlerkorrekturen www.mdienert.de/mpeg2schnitt/index.htm MPEG2Schnitt kann Video

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Der Product Activation Manager (PAM) dient dazu Software-Lizenzen anzuzeigen, zu verwalten und abzurufen.

Der Product Activation Manager (PAM) dient dazu Software-Lizenzen anzuzeigen, zu verwalten und abzurufen. DOCUMENT & SOFTWARE DEVELOPMENT NETWORKING COMMUNICATION Software Lizenzierung über den PAM Product Activation Manager Für die Software Lizenzierung auch für die Aktivierung der 30 Tage Demoversion ist

Mehr

Version 1.1.0 Stand 01.10.2007

Version 1.1.0 Stand 01.10.2007 Dieses Anleitung wurde erstellt von Media4Live International Ltd. & Co KG und ist zur UNVERÄNDERTEN Veröffentlichung freigegeben! Media4Live International Ltd. & Co KG Königsberger Str. 47 DE 31137 Hildesheim

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004 Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004 Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen

Mehr

Anleitung zum erstellen von DVD/ CD zum Sichern der Volumes:

Anleitung zum erstellen von DVD/ CD zum Sichern der Volumes: Anleitung zum erstellen von DVD/ CD zum Sichern der Volumes: 1.) Prüfung Ihrer Installation und der verfügbaren Volumes Öffnen Sie unter Start/ Programme/ HYPARCHIV den Archive Viewer und aktivieren Sie

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Konfiguration des Novell GroupWise Connectors

Konfiguration des Novell GroupWise Connectors Konfiguration des Novell GroupWise Connectors Installation und Konfiguration Version 2013 Spring Release Status: 09. März 2013 Copyright Mindbreeze Software GmbH, A-4020 Linz, 2013. Alle Rechte vorbehalten.

Mehr

IVE-W530BT. Bluetooth Software Update Manual mit Android Telefonen 09.03.2015

IVE-W530BT. Bluetooth Software Update Manual mit Android Telefonen 09.03.2015 Bluetooth Software Update Manual mit Android Telefonen IVE-W530BT 1 Einleitung In der Anleitung wird die Vorgehensweise zum aktualisieren der Radio Bluetooth Firmware beschrieben. Bitte beachten Sie alle

Mehr

3 Windows als Storage-Zentrale

3 Windows als Storage-Zentrale 3 Windows als Storage-Zentrale Windows als zentrale Datenspeichereinheit punktet gegenüber anderen Lösungen vor allem bei der Integration in vorhandene Unternehmensnetze sowie bei der Administration. Dabei

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

Mehr

Mobile-Szenario in der Integrationskomponente einrichten

Mobile-Szenario in der Integrationskomponente einrichten SAP Business One Konfigurationsleitfaden PUBLIC Mobile-Szenario in der Integrationskomponente einrichten Zutreffendes Release: SAP Business One 8.81 Alle Länder Deutsch November 2010 Inhalt Einleitung...

Mehr

Grundlagen von Drahtlosnetzwerkenp

Grundlagen von Drahtlosnetzwerkenp Grundlagen von Drahtlosnetzwerkenp Diese Broschüre enthält Informationen zum Konfigurieren einer Drahtlosverbindung zwischen dem Drucker und den Computern. Informationen zu anderen Netzwerkverbindungen,

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

WorldShip Installation auf einen Arbeitsgruppen-Admin- oder Arbeitsgruppen-Remote-Arbeitsstation

WorldShip Installation auf einen Arbeitsgruppen-Admin- oder Arbeitsgruppen-Remote-Arbeitsstation VOR DER INSTALLATION IST FOLGENDES ZU BEACHTEN: Dieses Dokument beinhaltet Informationen zur Installation von WorldShip von einer WorldShip DVD. Sie können die Installation von WorldShip auch über das

Mehr

Bedienung der Widgets und Anwendungen

Bedienung der Widgets und Anwendungen BEDIENUNGSANLEITUNG Die Funktionen, die durch Aktualisieren der Firmware geändert werden, sind hier beschrieben. ññ Bedienung der Widgets und Anwendungen SNS-Widget Facebook (SNS-Anwendung) nach links

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen QuickStart Guide to read a transponder with a scemtec TT reader and software UniDemo Voraussetzung: - PC mit der

Mehr

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration IBM SPSS Entity Analytics - Erweiterte Konfiguration Einführung Die vorgesehene Zielgruppe für dieses Handbuch sind Systemadministratoren, die IBM SPSS Entity Analytics (EA) für die Ausführung in einer

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

ROFIN App Benutzerhandbuch. Version 1.0

ROFIN App Benutzerhandbuch. Version 1.0 ROFIN App Benutzerhandbuch Version 1.0 Inhaltsverzeichnis 1. Beschreibung 2. Passwort und Einstellungen 3. Support Tab 4. Vertriebs Tab 5. Web Tab 6. Häufig gestellte Fragen BESCHREIBUNG Die ROFIN App

Mehr

Selbststudium OOP4 Auftrag

Selbststudium OOP4 Auftrag Selbststudium OOP4 Auftrag Kapitel 3.6 1. Wie deklarieren Sie eine Referenzvariable? Mit new z.b. Student studenta = new Stundent( Meier ); 2. Zeichnen Sie das Objektdiagramm zum BlueJ Picture Projekt

Mehr

MobiDM-App - Handbuch für ios

MobiDM-App - Handbuch für ios MobiDM-App - Handbuch für ios Dieses Handbuch beschreibt die Installation und Nutzung der MobiDM-App für ios Version: x.x Seite 1 Inhalt 1. WILLKOMMEN BEI MOBIDM... 2 1.1. VOR DER INSTALLATION... 2 2.

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

lññáåé=iáåé===pìééçêíáåñçêã~íáçå= lññáåé=iáåé===pìééçêíáåñçêã~íáçå= Wie kann das LiveUpdate durchgeführt werden? Um das LiveUpdate durchzuführen, müssen alle Anwender die Office Line verlassen. Nur so ist gewährleistet, dass die Office

Mehr

Swisscom TV Medien Assistent

Swisscom TV Medien Assistent Swisscom TV Medien Assistent Mithilfe dieses Assistenten können Sie Fotos und Musik, die Sie auf Ihrem Computer freigegeben haben, auf Swisscom TV geniessen. Diese Bedienungsanleitung richtet sich an die

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

App-Berechtigungen und Ihre Bedeutung

App-Berechtigungen und Ihre Bedeutung App-Berechtigungen und Ihre Bedeutung IHRE KONTEN KONTEN ERSTELLEN UND PASSWÖRTER FESTLEGEN Ermöglicht der App, die Kontoauthentifizierungsfunktionen des Konto-Managers zu verwenden, einschließlich der

Mehr

Firewalls für Lexware Info Service konfigurieren

Firewalls für Lexware Info Service konfigurieren Firewalls für Lexware Info Service konfigurieren Inhaltsverzeichnis: 1. MANUELLER DOWNLOAD 1 2. ALLGEMEIN 1 3. EINSTELLUNGEN 1 4. BITDEFENDER VERSION 10 2 5. GDATA INTERNET SECURITY 2007 4 6. ZONE ALARM

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

snom Auto-Provisioning

snom Auto-Provisioning snom Auto-Provisioning ALLGEMEIN... 2 AUTO-PROVISIONING DIENST VERWENDEN... 3 Prüfen ob der Dienst aktiv ist... 3 AUTO-PROVISIONING OHNE DIENST VERWENDEN... 4 TELEFON IN BETRIEB NEHMEN... 5 MAC-ADRESSE

Mehr

Live Streaming => Netzwerk ( Streaming Server )

Live Streaming => Netzwerk ( Streaming Server ) Live Streaming => Netzwerk ( Streaming Server ) Verbinden Sie den HDR / IRD-HD Decoder mit dem Netzwerk. Stellen Sie sicher, dass der HDR / IRD-HD Decoder mit ihrem Computer kommuniziert. ( Bild 1 ) Wichtig:

Mehr

Wie kann ich die Kamera mit dem Wi-Fi-Netzwerk meines Routers verbinden?

Wie kann ich die Kamera mit dem Wi-Fi-Netzwerk meines Routers verbinden? Meine Kamera wurde nicht erkannt. Vergewissern Sie sich, dass Ihre Kamera eingeschaltet ist und mit Strom versorgt wird. Stellen Sie bei der Erstinstallation Ihrer Kamera sicher, dass Ihr Smartphone oder

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

Mehr