Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Mobile Apps mit Cordova

Videos, Bilder und Ton aufnehmen

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Neben dem camera-Objekt stellt auch das media-capture-Plug-in den Zugriff auf die Aufnahmemöglichkeiten eines mobilen Geräts zur Verfügung. Dies funktioniert sowohl für die Aufnahme von Bildern als auch von Tondateien und Videos.
06:44

Transkript

Mit dem Kamera Plugin von Cordova können Sie Bilder aufnehmen und Videos auszeichnen. Es gibt auch ein weiteres Plugin: Das ist das "Media Capture" Plugin, das ich Ihnen in diesem Video vorstellen möchte. Es ist flexibler als das Kamera Plugin, es liefert sehr detaillierte Informationen über die aufgenommenen Dateien und lässt sich auch sehr umfangreich konfigurieren. Damit ist es allerdings nicht ganz so einfach anzuwenden. Und vor allen Dingen reagieren auch die Emulatoren sehr eigensinnig bei der Verwendung dieses Plugins. Sie funktionieren einfach nicht zuverlässig. Ich habe die gleiche App jetzt in zwei Emulatoren geladen und starte hier mal "Audio aufnehmen". Dann startet der Soundrecorder. Ich kann hier auf "Aufnahmen" gehen. Nach einer Weile klicke ich hier auf "Stop". Dann: Ich starte ein zweites Mal eine Aufnahme, beende wieder, sage auch "Done" und ich bekomme ein Erfolgs-Callback. Und dann werden hier gewisse Informationen über die aufgenommene Datei angezeigt. So ist die App programmiert. Wenn ich diese App allerdings jetzt in dem anderen Emulator dazu veranlasse, die Audio Dateien aufzunehmen, dann wird der Erfolgs-Callback nicht aufgerufen. Allerdings hier, wenn ich hier auf "Foto aufnehmen" klicke, dann schmiert zumindestens in diesem Target der Android Emulator ab. Während "Foto aufnehmen" hier wunderbar funktioniert. Ich habe ein Limit von fünf Aufnahmen vorgesehen, nach fünf Aufnahmen wird dieser Prozess automatisch beendet und ich bekomme hier Informationen über die aufgenommenen Dateien angezeigt. Das Videoaufnahme geht in beiden Targets nicht vernünftig. Hier stürzt die App ab und hier wird der Erfolgs-Callback nicht aufgerufen. Was letztendlich weder das Plugin diskreditieren soll, noch irgendwelche Auswirkungen auf die Programmierung hat. Sie müssen das nur bedenken, wenn Sie nachher den Code sehen, dass Sie ihn in einem realen Gerät testen müssen und nur da zuverlässig sagen können, was da wirklich passiert. Diese Emulatoren sind sehr nützlich für einen Test, aber wenn etwas nicht geht, heißt das noch lange nicht, dass es grundsätzlich vom Plugin oder dem Code ein Problem ist. Wir schauen uns mal dieses Plugin in der Dokumentation an. Hier ist das Plugin "media-capture". Es wird wie üblich eingebunden in ein Projekt und stellt dann verschiedene Methoden zur Verfügung. "captureAudio", "captureImage", "captureVideo" und "getFormatData", das allerdings mit einem vorangestellten "MediaFile". Es gibt eine ganze Reihe von Objekten, die hier eine Rolle spielen, das macht die Flexibilität von diesem Plugin aus, macht es aber auch relativ kompliziert in der Anwendung im Vergleich zu vielen anderen Plugins unter Cordova. Sie sehen hier beispielsweise ein "captureAudio". Das bedeutet, man ruft "captureSuccess" auf, wenn die Aufnahme erfolgreich war und mit diesen Optionen "limit" hier, lege ich fest, dass genau zwei Aufnahmen gemacht werden dürfen und Sie dürfen auch nach einer abbrechen oder gar keine machen natürlich. Im Erfolgsfall haben Sie in "mediaFiles" alle aufgenommenen Dateien drin und können dann die Anzahl, die als Arrays auswerten und dann die Eigenschaften, die zur Verfügung stehen. Beispielsweise hier den vollständigen Pfad zu der aufgenommenen Datei, aber auch den Media Typ und was es sonst so alles an Informationen, an Daten über diese Datei gibt. Ich habe dieses Methoden jetzt hier in meiner App, alle drei, benutzt: "captureImage", "captureVideo", "captureAudio". Von der syntaktischen Anwendung, alles gleich: Erfolgs-Callback, Fehler-Callback, irgendwelche Optionen. Erfolgs-Callback, Fehler-Callback, Optionen. Erfolg, Fehler, Optionen. Das Alles ist noch mit einem "try/catch" umhandelt, um eine Ausnahmebehandlung hier zu gewährleisten. Mit "addEventListener" binde ich an die verschiedenen Buttons die jeweiligen Reaktionen. Die Erfolgs-Callbacks benutzen im Wesentlichen Strukturen, die Sie auch in der Dokumentation finden. Also ich werte hier dieses Objekt "mediaFiles" aus, über die Länge und dann gibt es von jedem einzelnen "mediaFile" zum Beispiel eine Information, wann es zuletzt modifiziert wurde. Das kann in zwei Formen vorliegen, das können Sie auch nachlesen. Einmal kann es als "string" vorliegen, einmal auch in einem anderen Datenformat. Das kriegt man mit "typeof" raus und dann muss man hier ein "if/else" machen. Das ist nur eine Absicherung. Dann werte ich hier für eine Multimedia Datei den vollständigen Pfad aus, und den Typ. Und das ist das, was Sie da angezeigt bekommen. Das mache ich im Grunde für alle drei Dateitypen, sowohl für die Bilder, als auch die Videos und auch die Audio-Dateien und gebe hier noch unterschiedliche Informationen aus. In der CSS-Datei habe ich hier ein bisschen formatiert, dass die Buttons und die ganzen Meldungsbereiche netter aussehen. Nichts Spannendes. Und in der Index-Datei wird die Funktion"init" aufgerufen. Und ja. Hier habe ich die Schaltflächen und den Meldungsbereich. Das war's eigentlich. Sie haben also in diesem Video gesehen, dass Sie hier ein Plugin zur Verfügung haben, was relativ flexibel ist, mit dem gleichzeitigen Preis, dass es nicht ganz trivial anzuwenden ist und auch, dass Sie bei den Emulatoren vorsichtig sein müssen. Möglicherweise funktionieren Ihre Codes nicht so, wie sie im realen Gerät dann funktionieren würden.

Mobile Apps mit Cordova

Schreiben Sie mit Cordova mobile Apps, die nicht nur auf einer bestimmten mobilen Plattform laufen, sondern in verschiedenen Umgebungen.

3 Std. 58 min (59 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!