Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Entwickeln mit dem iPhone SDK

von: Bill Dudney, Chris Adamson

O'Reilly Verlag, 2010

ISBN: 9783897219526, 606 Seiten

Format: PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 39,90 EUR

  • Inglourious Basterds - Das Drehbuch
    Web Application Development mit ColdFusion 4.5
    Legendäre Schachpartien - Geniale Spielzüge und spektakuläre Fehler aus 400 Jahren Schachgeschichte
    Adobe InDesign CS4 - Die Workshops für Einsteiger
    Dreamweaver CS4 - Professionelle Webseiten entwickeln. Einführung, Arbeitsbuch, Nachschlagewerk
    Webdesign mit Photoshop - Aktuell zu CS4
    JQuery - Das neue JavaScript-Framework für interaktives Design
    Grundkurs Grafik und Gestaltung - Mit konkreten Praxislösungen
  • ColdFusion MX
    Modernes Webdesign - Gestaltungsprinzipien, Webstandards, Praxis
    Adobe Photoshop CS4 - Übungsbuch - 50 x Praxis pur - von der Aufnahme bis zur Ausgabe
    PHP5 / MySQL5
    PHP 5.3 & MySQL 5.4 - Programmierung, Administration, Praxisprojekte
    JavaScript und Ajax - Das Praxisbuch für Web-Entwickler
    Design und Typografie - Die überraschend einfachen Gesetze guten Designs. Wie Sie Seiten gestalten, die jeder gerne liest
    SolidWorks 2010 - Methodik der 3D-Konstruktion
 

Mehr zum Inhalt

Entwickeln mit dem iPhone SDK


 

Kapitel 16 Audiodaten abspielen und aufzeichnen (S. 355-356)

Gestaltet sich die Videounterstützung im iPhone 3.0 recht zurückhaltend, ist die Audiounterstützung dagegen erstaunlich umfassend. Das Core Audio Framework bietet verschiedene Abstraktionsschichten an – von einer High-Level-API für Objective-C, die das Aufsetzen eines einfachen Audiorekorders oder eines Players, der mit Dateien in Ihrem Documents-Verzeichnis arbeitet, sehr einfach macht, bis hin zu Low- Level-C-APIs für das Streamen von Audio, durch die Sie direkt mit Raw- Audio-Samples arbeiten können. Auch hier gilt wieder die 80-20-Regel: Ein Großteil der Entwickler wird eine kleine, aber entscheidende Untermenge dieses Framework nutzen. Wir werden uns in diesem Kapitel größtenteils auf die Objective-C-Klassen konzentrieren, die für die wichtigsten Aufgaben genutzt werden: das Aufzeichnen und Abspielen lokaler Dateien.


16.1 Einen AVAudioRecorder erstellen

In Zeiten vor dem iPhone SDK 3.0 mussten Entwickler, die Audiodaten aufzeichnen wollten, mit der Audio Queue Services-API arbeiten (die später noch in Abschnitt 17.3, Überblick über Core Audio, auf Seite 397 beschrieben wird), einer prozeduralen C-API, die über Streams arbeitet. Sie erhielten Callbacks mit neu erfassten Audio-Samples und mussten diese mit einer anderen C-API für das Schreiben von Audiodateien abspeichern. Viele Leute haben sich darüber beschwert, dass das für solche eine einfache Aufgabe viel zu kompliziert sei.

Als Reaktion darauf bietet das iPhone SDK 3.0 nun eine viel einfacher zu verwendende Option an: die Klasse AVAudioRecorder als Teil des AVFoundation-Framework. Diese Klasse ermöglicht es Ihnen, ein Recorder- Objekt mit einer Ziel-URL, die das Ziel der Aufnahme sein soll, und ein paar Einstellungen zu erzeugen und dann einfach mit dem Aufzeichnen der Audiodaten zu beginnen. Dazu muss man lediglich Methoden wie record, pause und stop aufrufen. Natürlich ist es dann doch nicht so einfach – wie immer bei der Audioverarbeitung. Denn wir werden sehen, was wir bei den Optionen für die Audiokomprimierung berücksichtigen müssen, und zudem gibt es nur wenige Kombinationen aus Einstellungen, die tatsächlich funktionieren, aber für die meisten Leute ist dieser Weg trotzdem viel einfacher als der frühere.

Die Beispielanwendung aufsetzen

Um mit den Aufzeichnungs- und Wiedergabefähigkeiten der AVFoundation zu spielen, werden wir eine Beispielanwendung bauen, die Audiodaten in Dateien aufzeichnen kann (über das Mikrofon des Telefons oder des Headsets) und diese Dateien dann auch wieder abspielt. Wir werden dem Anwender eine Reihe von möglichen Audioformaten zur Auswahl geben, so dass wir die Vor- und Nachteile der einzelnen Formate kennenlernen können.

Die Beispielanwendung, die wir vorbereitet haben, ist eine der am weitesten ausgearbeiteten in diesem Buch. Wir beschreiben ihre wichtigsten Elemente, aber da wir den Fokus auf der Audioverarbeitung halten und keinen vierseitigen Ausflug in den Interface Builder unternehmen wollen, ist dies ein Fall, in dem es wirklich sinnvoller ist, den herunterladbaren Beispielcode zu nutzen, in dem wir AudioRecorderPlayerStarter als Basisprojekt mit dem fertig gebauten und verdrahteten GUI anbieten. Wenn Sie diese Anwendung tatsächlich von Grund auf selbst bauen wollen, sollten Sie bedenken, dass wir davon ausgehen, dass Sie alle #imports, Eigenschaften, Hilfsmethoden, IBActions und IBOutlets, die wir nicht explizit beschrieben haben, selber erzeugen können.