Version | Anpassungen |
---|---|
1.0 (2024-10-12) | Initiale Version |
1.1 (2025-03-19) | Die Verfügbarkeit der internen Felder der Player-Komponente hängt von der Reihenfolge der
Initialisierung der Komponenten durch App Inventor ab. Die Eigenschaft PlayerToUse steht deshalb nicht mehr als Designer-Eigenschaft zur Verfügung. Sie muss zur Laufzeit angesteuert werden, z.B. im Ereignis Screen.Initialize. |
Für mein Audio-Projekte habe ich bisher immer den Taifun-Player benutzt, weil er mehr Funktionen besitzt als die Player-Komponente im App Inventor. Bei meinem aktuellen Smartphone bleibt der Taifun-Player nach etwa 20 Minuten stehen. Die AI2-Player-Komponente läuft jedoch durchgängig weiter. Diese Extension ergänzt die AI2-Player-Komponente um zusätzliche Funktionen.
Das ZIP-Archiv UrsAI2PlayerAddon zum Download. Das Archiv enthält den Quellcode, das kompilierte Binary zum Upload in den App Inventor und ein Beispielprojekt.
Der Extension muss zur Laufzeit eine Player-Komponente zugewiesen werden, z.B. im Ereignis Screen.Initialize.
Dann stehen die in der Referenz genannten Zusatzfunktionen zur Verfügung.
Fehler werden über das Ereignisse Screen.ErrorOccurred gemeldet.
Code | Text | Bedeutung | Anmerkung |
---|---|---|---|
18040 | Component not of type 'Player'. | Die übergebene Komponente ist nicht vom Typ Player. | Betroffene Eigenschaft ist PlayerToUse. |
18041 | Cannot access internal field 'player'. | Die Extension kann nicht auf das interne Feld player der Player-Komponente zugreifen. Versionskonflikt? | Betroffene Eigenschaft ist PlayerToUse. |
18042 | 'Player' component not initialzed yet. | Die Player-Komponente ist noch nicht vollständig initialisiert. Versionskonflikt? | Betroffene Eigenschaft ist PlayerToUse. |
![]() |
Eine kleine Beispiel-App zeigt die Verwendung der Extension (s. Download). In dem Beispiel wird die AI2-Player-Komponente dazu benutzt, einen Song abzuspielen. Die Extension UrsAI2PlayerAddon wird dazu benutzt, schnellen Vor- und Rücklauf zu realisieren. |
![]() |
Screenshot der App. |
Für die Erstellung eigener Extensions habe ich einige Tipps zusammengestellt: AI2 FAQ: Extensions entwickeln.