Techniken: iPhone Multimedia

Slides:



Advertisements
Ähnliche Präsentationen
Lehrgang Powerpoint Aufgabe: Ihr erstellt selbstständig eine Präsentation zum Thema Wald. Eure TrainerInnen helfen Euch dabei.
Advertisements

Support.ebsco.com Lernprogramm zum Erstellen einer lokalen Sammlung.
Virtuelle Forschungsumgebungen
Was gibt´s neues im Bereich Sicherheit
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
1 Jing - Einführung themenübersicht Beschreibung Installation Einstellungen Benutzung.
App Literatur iPhone Entwicklung Push-Benachrichtigungen
Allgemeine Technologien II
Java: Dynamische Datentypen
Starten von Multi-Speech Starten des Systems: n PC einschalten n Icon für Multi-Speech auf dem Desktop anklicken n Multi-Speech Main Program wählen Sitzung.
Sprachaufnahmen und automatische (Vor-)Segmentierung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Softwaretechnologie II WS 08/09 SpieleProgrammieren UlTris V07 Reihen vorbelegen, Spielfeld anzeigen und Punktestand ausrechnen Sibylle C. Schellhorn,
Virtuelle Forschungsumgebungen Hintergrundbeitrag: HTML5: Video Player und VideoJS Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung.
Praxisbeispiel Cocoa Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Re-usable Content in 3D und Simulationssystemen Prof.
Nils Jagdfeld, Patrick Gunia
Support.ebsco.com Lernprogramm zur einfachen Suche in wissenschaftlichen Bibliotheken.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
By Monika Krolak & Christian Meschke
Wie mache ich Text und Grafiken beweglich?
Einführung MySQL mit PHP
3D Programmierung Version 12 - Highscores. Die vom Spieler erzielte Punktzahl wird mit 5 vorgegebenen Punktzahlen verglichen und, falls nötig, in die.
Arbeiten mit Hörtexten
Videoclip in PowerPoint 2010
So gelangt Ihre Ansage auf Ihren Anrufbeantworter
6 Mit dem Internet Explorer im WWW arbeiten
Wir bauen uns eine Webapplikation!
Hinweise zur Verwendung von Grafiken
Brainstorming Hinweis: Susi Sonne Aufgabe 1: Ansichten wechseln
Web-HMI einbinden SPS-Technik mit Video, Multimedia und Entertainmentsystemen kombinieren I Peter Steib.
Die Zeichentabelle Zum Einfügen von Sonderzeichen
EIDAMO ® Frontend Das neue Frontend gibt Ihnen 100% Flexibilität, und weil es auf verschiedene Framework Biblieotheken basiert, können Sie praktisch.
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Einführung in die App- Programmierung Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Medien zwischen Technik und Gesellschaft.
Was ist Multimedia? Multimedia = Nutzungsmöglichkeit verschiedener Medien (Text, Bild, Ton) über ein Gerät (PC) Beispiele Abspielen von Film- oder Musik-CDs.
Audiobearbeitung mit dem PC Andreas Glöckl, MiB Eichstätt
Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung WS 12/13 Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung.
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
Informatik Wintercamp 2009
Caliburn.Micro.
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
ICT – Modul Textverarbeitung
ohne Animationseffekte (
Der Windows-Desktop Beispiel für den Windows-Desktop.
Variable IWV field. IWV and its residuum IWV and res 2 animations Click on the right image and see only the IWV field animation Click on the left and.
Videoformate ... gibt es nicht?! Gute Quellen:
Website-Planung Schritt für Schritt zur eigenen Internet-Präsenz.
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
Anna Steinke‌ WG13 ‌‌‌ Köln, Wie sichere ich meine Daten? Wie mache ich meinen PC sicher?
AUDIO im WEB HTML & AUDIO WEB_0302 WEBDESIGN MODUL 03 h.huetter 1 Sound-Dateien können, ebenso wie Video-Dateien, auf mehrere Arten in HTML-Dateien integriert.
SENSOREN MOBILER DEVICES Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung AM1 Hauptseminar: Re-usable Content in 3D und.
Pinnacle studio plus 1 Kurzfassung zum Praktischen Beispiel: Vom Rohmaterial zum fertig bearbeiteten Film.
Klassische Werbeformen
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 5-6: Mega CRM 25. Februar 2013 Folie 1 von 10.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
JAVA Sound. Stellt low-level Routinen zur Soundverarbeitung bereit media/sound/index.jsp Java Sound:
Greenstone. Theoretischer Teil Entstehung: Entwickelt vom New Zealand Digital Library Project an der Universität von Waikato Kooperation mit der UNESCO.
Synthetisierung von Audio und MIDI Referent Sebastian Frielitz.
Die Gestaltung einer Präsentation
Anleitung Sound-Video-Collagen mit «movbeats» Eine Sound-Video-Collage ist ein rhythmisches Kunstwerk aus Sound- und Videosamples. Beides nehmen die Kinder.
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
Wien Fotos, Audio und Video Multimedia in Android.
Einführung in Powerpoint XP Universität Leipzig Herder-Institut Video und Multimedia im Unterricht: DaF Dozent: Hr. Prof. Dr. E. Tschirner.
IOS Entwicklung von 0 auf 100 Von Philipp Koulen Lehr- und Forschungsgebiet Ingenieurhydrologie.
Einführung in PowerPoint Zum Seminar „Video und Multimedia im Unterricht DaF“ (Theorie und Praxis der Lehr- und Lernmittel) bei Prof. Dr. E. Tschirner.
Mp3 und co. – Audiobearbeitung am PC. Vorteile Audio am PC Audiofiles lassen sich einfacher verwalten und weiter verarbeiten als Kassettenaufnahmen.
Ein Überblick in 2 Minuten
 Präsentation transkript:

Techniken: iPhone Multimedia Universität zu Köln Re-usable Content in 3D Johannes Döhrn SS 2012

Inhalt Audio Video MediaKit SystemSounds AVAudioPlayer Audioaufnahme AudioToolbox Video MediaPlayer Videoaufnahme MediaKit Filme auswählen und bearbeiten MPMediaPickerController MPMusicPlayerController

Audio Gebrauch in Applications Soundeffekte (Klicks, Warnungen, andere kurze Sounds) Musik, Podcasts, Hörbücher etc. Streams aus dem Internet Aufgenommene Audioinhalte

Audio CoreAudio: Einfacher Gebrauch: System Sound API – kurze Soundgeräusche AVAudioPlayer – ObjC, simple API Komplex, aber mit besseren ‚Controls‘: AudioToolbox – aufnehmen und abspielen, Streaming AudioUnits – komplexe Audio-Plug-Ins zum Bearbeiten von Audio-Dateien (Filterung, Hall, Sampling, MIDI-basierte Synthesizer etc.) OpenAL – 3D Sound (z.B. bei Ego-Shootern)

Xcode: Vor dem Start… Disable Automatic Reference Counting (ARC) Project/Build Settings/Levels -> in die Suchleiste ‚automatic‘ eingeben/ARC von ‚YES‘ auf ‚NO‘ Frameworks hinzufügen: - Project Navigator / Project / Build Phases / Link Binary With Libraries –> Add (+) -> AVFoundation.framework; AudioToolbox.framwork; MediaPlayer.framework

Audio System Sound API Kurze Soundgeräusche (> 5 sec) Sehr simple API, aber Keine Schleifenwiedergabe Keine Handhabung der Lautstärke Umgehendes Playback Nur wenige unterstützte Formate Linear PCM oder IMA4 .caf-, .aif-, oder .wav-Dateien Code: NSURL *dateiURL = ... // url zu der Datei SystemSoundID myID; // Sound initialisieren AudioServicesCreateSystemSoundID ((CFURLRef)dateiURL, &myID); // Dann abspielen AudioServicesPlaySystemSound (myID);

Audio System Sound API Vibration Aufräumen: Wenn abgespielt oder eine Warnung auftritt, abbrechen Code: SystemSoundID myID; //abbrechen des zuvor initialisierten Sounds AudioServicesDisposeSystemSoundID (myID); Vibration Erlaubt das Auslösen der Vibration - (void) vibrate { AudioServicesPlaySystemSound (kSystemSoundID_Vibrate); }

Audio AVAudioPlayer Ermöglicht das Abspielen längerer Sounds Lokal gespeicherte Daten (kein Streaming) Ermöglicht Schleifenwiedergabe, bestimmen und wählen der Wiedergabeposition, Play, Pause Audiopegel können überwacht werden Gleichzeitige Wiedergabe mehrerer Sound-Daten Cocoa-basiertes Interface Initialisierung über Datei-URL oder Daten Ermöglicht die Delegation zwischen Objekten Unterstützt viele Audio-Formate

Audio AVAudioPlayer: Initialisierung self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:self.path] error:&error]; if (!self.player) { NSLog(@"Error: %@", [error localizedDescription]); return NO; } Einfache Methoden zum Starten/Stoppen If (!self.player.playing) { [self.player play]; } else { [self.player pause];

Audio AVAudioPlayer: Vorbereitung des Players, um mit der Wiedergabe beginnen zu können [self.player prepareToPlay] Vollständiges Beenden der Wiedergabe durch self.player stop Audiopegel: Einrichten der Eigenschaft meteringEnabled = YES; Aktualisierung der Pegelstände durch updateMeters -> ablesen der Stände durch peakPowerForChannel und averagePowerForChannel Die Lautstärke wird mit der Eigenschaft volume ermittelt - (void) setVolume: (id) sender //Anpassung der Lautstärke bei Betätigung des Reglers { if (self.player) self.player.volume = volumeSlider.value; }

Audio AVAudioPlayer: Wiedergabeposition bestimmen und wählen Eigenschaften currentTime und duration self.player.currentTime = scrubber.value * self.player.duration; // Positionswahl durch UISlider Nach Ende der Bewegung des Slider, wird Wiedergabe an der gewählten Position wieder aufgenommen - (void) scrubbingDone: (id) sender { [self play:nil]; } Ende der Wiedergabe Delegierungs-Callback audioPlayerDidFinishPlaying:successfully Bsp. https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/01-Play%20Audio

Audio Schleifenwiedergabe: Unterbrechungen: Ermöglicht das Gestalten von Hintergrundgeräuschen, durch Schleifenwiedergabe (self.player setNumberOfLoops) Fading-Effekt https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/02-Audio%20Loop Unterbrechungen: z.B. bei Eingang eines Telefonats, Gerät übernimmt Audiositzung wird deaktiviert (audioPlayerBeginInteruption) Wird das Telefonat abgelehnt oder endet, bevor der Benutzer antworten konnte, wird die Wiedergabe wieder aufgenommen (audioPlayerEndInteruption) Die Aktuelle Abspielposition kann gespeichert werden https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/03-Audio%20Interruptions

Audio Audioaufnahme: Einrichtung einer AVAudioSession Verwenden einer Aufnahmesitzung (AVAudioSessionCategoryRecord) o. Wiedergabe- und Aufnahme (AVAudioSessionCategoryPlayAndRecord) Aufnahme Aufnahmeeinstellungen, die beschreiben, wie die Aufnahme erfasst werden soll z.B. AudioFormat, Sample-Rate (Abtastvorgänge), Kanäle (mono, stereo) etc. Initialisierung des zugewiesenen Recorders durch Datei-URL und Dictionary Initialisierung der Delegierung, Pegelmessung etc. Einrichten eines Timers zur Beobachtung der Pegel und der Aufnahmeposition

Audio Audioaufnahme: Audiometer (updateMeters) funktioniert wie beim AVAudioPlayer Durch stopRecording wird audioRecorderDidFinishRecording:successfully ausgelöst und die Oberfläche für die Wiedergabe bereitgemacht Bsp. https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/05-Record%20Audio

Audio AudioToolbox: Queue: - Audio File Stream Services & Audio Queue Services Unterstützt eine größere Anzahl von Formaten Bessere Kontrolle über die Wiedergabe z.B. Streaming von Audio über ein Netzwerk Queue: Ermöglicht die Aneinanderreihung von Audio-Dateien in einer Warteschlange Spezifiziert, welcher Song wann gespielt werden soll Bsp. iPod (Playlist) Ermöglicht Aufnahme Leistungsfähige, systemnahe, aufwendige Audioroutinen

Audio Audioaufnahme: Erstelle eine Queue Definiere eine callback-Funktion um das Aufgenommene zu erhalten Starte die Queue Speicherung der erhaltenen Daten Beende die Queue Bsp: ‚Speak Here‘ (iOS Dev Center) https://github.com/erica/iphone-3.0-cookbook-/blob/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/06-AudioQueue%20Recording

Video Gebrauch von Video: MediaPlayer: Szenische Animationen in einem Spiel Stream-Inhalte aus dem Internet Abspielen lokaler Videos MediaPlayer: Abspielen von Videos über application bundle oder URL Player immer ‚Full Screen‘ Maßstab kann konfiguriert werden Optionale controls Unterstützt: .mov, .mp4, .m4v, .3gp Bsp. https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/07-OffsiteVideo

Video MPMoviePlayerController: Gehört zum Framework ‚MediaPlayer‘ (id)initWithContentURL:(NSURL *)url; (void)play; (void)stop; Eigenschaften: backgroundColor (u.a. clear) scalingMode – aspect fit, aspect fill, fill, no scaling movieControlMode – default, volume only, hidden Notifikationen: MPMoviePlayerPlaybackDidFinishNotification (bei Ende der Wiedergabe oder ‚Done‘) Video ist bereit zu starten Änderungen des Maßstabs

Video Videoaufnahme: Überprüfung, ob Kamera vorhanden - (BOOL) videoRecordingAvailable { if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) return NO; return [[UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera] containsObject:@"public.movie"]; } Videoaufzeichnung ähnelt Aufnahme von Einzelbildern Zuweisung und Initialisierung eines Bild-Pickers Einrichtung seiner Delegierung Auswahl, ob Bearbeitung und Darstellung

Video Videoaufnahme: Festlegung von Eigenschaften im Videorecorder: Bildqualität (ipc.videoQuality) Maximale Filmdauer in Sekunden (ipc.videoMaximumDuration) Medientyp-Array: eine Liste mit dem Objekt public.movie Eventuell auch public.image, um zwischen Video und Bild zu wechseln - (void) recordVideo: (id) sender { UIImagePickerController *ipc = [[UIImagePickerController alloc] init]; ipc.sourceType = UIImagePickerControllerSourceTypeCamera; ipc.delegate = self; ipc.allowsEditing = YES; ipc.videoQuality = UIImagePickerControllerQualityTypeMedium; ipc.videoMaximumDuration = 30.0f; // 30 seconds ipc.mediaTypes = [NSArray arrayWithObject:@"public.movie"]; // ipc.mediaTypes = [NSArray arrayWithObjects:@"public.movie", @"public.image", nil]; [self presentModalViewController:ipc animated:YES]; }

Video Videoaufnahme: Speicherung: didFinishSavingWithError überprüft, ob Fehler vorhanden Falls nicht, kann die Datei mit der Funktion UISaveVideoAtPathToSavedPhotosAlbum() gespeichert werden. Bsp: https://github.com/erica/iphone-3.0-cookbook-/blob/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/08-RecordingVideo

Video Auswählen und Bearbeiten: Erstellung eines reinen Video-Pickers (s. Videorecorder) Überprüfung, ob das Video bearbeitet werden kann (Methode canEditVideoAtPath der Klasse UIVideoEditorController) Wenn ja, neuer Editor weist Eigenschaften delegate und videoPath zu Callbacks zum Handhaben für den Erfolg / Fehlschlag des Vorgangs oder den Abbruch durch den Benutzer Nach Beendigung der Bearbeitung, Speicherung (videoEditorController:didSaveEditedVideoToPath) Bsp: https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/09-Editing%20Video

Audioauswahl MPMediaPickerController: Ermöglicht Auswahl von Elementen, wie Musikstücke, Podcasts und Hörbüchern aus der Musikbibliothek Oberfläche im iPod-Stil (z.B. Durchsuchen von Wiedergabelisten, Listen von Künstlern und Songs, Alben etc.) Erstellung eines neuen Pickers; Initialisierung mit gewünschtem Medientyp (MPMediaTypeMusic, MPMediaTypePodcast, _Audio, _AnyAudio, _Any) MPMediaPickerController *mpc = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic]; mpc.delegate = self; mpc.prompt = @"Please select an item"; mpc.allowsPickingMultipleItems = YES; [self presentModalViewController:mpc animated:YES];

Audioauswahl MPMediaPickerController: Benutzerauswahl abschließen: Callback mediaPicker:didPickMediaItems Instanz MPMediaItemCollection: Kann durch Zugriff auf ihre Elemente aufgelistet werden. Jedes Element (Item) ist ein Member der Klasse MPMediaItem Eigenschaften (Property) von MPMediaItem können abgefragt werden (z.B. MPMediaItemPropertyTitle, MPMediaItemPropertyArtist etc.) Bsp. https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/10-Media%20Picker

Medienabfragen MPMediaQuery: Filterung der Inhalte einer iPod-Bibliothek und Einschränkung des Suchbereichs 9 vordefinierte Suchvorgänge (z.B. albumsQuery, artistsQuery) Dazugehörige Gruppierungstypen legen die Gliederung der zurückgegebenen Daten fest (z.B. MPMediaGroupingAlbum) Beispiel einer Abfrage (hier: Anzahl der Alben) MPMediaQuery *query = [MPMediaQuery albumsQuery]; NSArray *collections = query.collections; NSLog(@"You have %d albums in your library\n", collections.count); Prädikate: Prädikate aus Medieneigenschaften filtern die zurückgegebenen Elemente Bsp. https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/11-Media%20Query

Audio MPMusicPlayerController: Ein weiterer komplexer Musik-Player für Musiksammlungen Veröffentlicht optionale Benachrichtigungen, wenn sich der Wiedergabestatus ändert Ermöglicht zufällige Reihenfolge bei Wiedergabe (Eigenschaft shuffleMode); Wiederholungsmodus (repeatMode) Ermöglicht das Anzeigen von Grafiken aus einem Album (MPMediaItemArtwork) Bsp. https://github.com/erica/iphone-3.0-cookbook-/tree/b8ca8905d17015839a0917e1dcd407d055890236/C15-Media/12-Pick%20and%20Play

Quellen Sadun, Erica: Das große iPhone Entwicklerbuch. München 2010. Codes: http://github.com/erica/iphone-3.0-cookbook- ‚Audio APIs, Video Playback, Displaying Web Content, Settings‘, von Alan Cannistraro (Stanford University) http://www.youtube.com/watch?v=vTFT0G11VfY ‚Speak Here‘, iOS Developer Library. https://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007802