Sogar die Lautstärkeregelung von Android ist hoffnungslos fragmentiert

Wir wissen bereits, dass das Smartphone-Betriebssystem von Google zwischen Hunderten verschiedener Android-Builds und -Handys ist hoffnungslos zersplittert, und erfordert von Entwicklern immensen Aufwand und Zeit, um selbst eine einfache App zuverlässig zum Laufen zu bringen.

Aber das Problem mit Android – und warum es so eine Schlampe ist, dafür zu entwickeln – geht tiefer als nur zu viele Mobilteile und Betriebssystem-Builds, die unterstützt werden können. Sogar die Entwicklung eines einfach Musik-App für Android ist aufgrund der Android-Fragmentierung ein Albtraum, denn Google konnte es nicht einmal bekommen Lautstärkeregelung auf Android direkt aus der Box.

Eliot Van Buskirk von Evolver.fm sprach mit einem Entwickler hinter einer sehr beliebten, aber namenlosen Musik-App, die versucht, auf Android zu kommen. Unter der Bedingung der Anonymität (aufgrund der Tatsache, dass die App trotz dieser Probleme irgendwann bei Google Play gestartet wird), erklärt der Entwickler warum Googles Implementierung von etwas so Abhilfe wie der Lautstärkeregelung hoffnungslos kaputt ist und zu noch mehr Fragmentierung eines bereits fragmentierten führt Plattform.

Laut dem Entwickler ist dies bei Androids Methode zur Handhabung der Lautstärkeregelung falsch:

1. Android OS bietet nur eine API für die Lautstärkeregelung. Das Problem besteht darin, dass mindestens zwei Arten von Lautstärkeregelung erforderlich sind: Gesamtausgabelautstärke und Medien-/Musiklautstärke. Dies bedeutet, dass die Hersteller ihre eigene Art der Steuerung der Medien-/Musiklautstärke implementieren müssen. Leider macht das jeder Hersteller anders, und es gibt keine Möglichkeit herauszufinden, wie er es gemacht hat, bis Sie jedes einzelne Modell testen. Erschwerend kommt hinzu, dass Samsung eine ineffiziente Methode zur Steuerung der Hardware- und Medienlautstärke verwendet und bewusst einen Teil des Hardware-Ausgangs auf den Mikrofoneingang speist. Dies erzeugt Audio-Chaos.

2. Android OS ist im Umgang mit Echtzeit-Audio erschreckend ineffizient. Das Betriebssystem fügt eine Verzögerung von etwa sieben Sekunden hinzu, und die Hardware fügt weitere fünf oder sechs Sekunden hinzu, sodass die Standardverzögerung insgesamt 12-13 Sekunden beträgt. Wir haben es geschafft, die Echtzeitverzögerung auf etwa eine halbe Sekunde (500 ms) oder weniger zu reduzieren, was unserer Meinung nach die beste ist, die bisher auf Android erreicht wurde. [Hrsg. Hinweis: Die iPhone-Version enthält keine wahrnehmbare Verzögerung.]

3. Hunderte von Bildschirmgrößen und Auflösungen machen es unmöglich, ein einheitliches UI-Grafikset zu haben. [Hrsg. Hinweis: Diese Beschwerde ist natürlich nicht exklusiv für Audio-App-Entwickler und wir haben sie schon oft gehört.]

Verstanden? Da es Google nicht gelungen ist, über vier Android-Versionen hinweg die Weitsicht zu haben, zwei verschiedene APIs für die Lautstärkeregelung einzuführen – eine für die Medienlautstärke, eine für Gesamtausgabevolumen – alle Hersteller haben Hunderte ihrer eigenen verrückten Alternativen eingeführt, die jeder Entwickler, der eine Medien- oder Musik-App erstellt, ausprobieren muss Unterstützung.

Und die Verzögerung! Für Echtzeit-Audio ist die Beste Entwickler können auf eine halbe Sekunde Verzögerung hoffen, und das nach einer verrückten und endlosen Menge an Optimierung. Unoptimiert verzögert Android die Audiowiedergabe in Echtzeit um etwa dreizehn Sekunden. Ich habe diesen Absatz in weniger getippt. Im Vergleich zu iOS schreibt Evolver.fm-Kommentator Adil Sherwani, und der Unterschied ist einfach schockierend.

500 ms ist höher als die 100 ms-Zahl, die ich letztes Jahr gesehen hatte, aber in jedem Fall 2 Größenordnungen höher als iOS, das eine Hardware-Ausgangslatenz von weniger als 3 ms bietet. Fügen Sie etwa 10 ms Touchscreen- / Beschleunigungssensor-Latenz hinzu (sehr grobe Schätzung, ich glaube nicht, dass jemand tatsächliche Zahlen dafür veröffentlicht hat), 5 ms Audiopuffer (Mindestgröße) und 1-2 Verarbeitungszeit für Ihre App, und Sie können immer noch innerhalb von 20 ms bleiben, was die magische Zahl zu sein scheint, damit sich Audio in Echtzeit anfühlt Menschen.

Verstanden? In Android liegt Echtzeit-Audio tatsächlich mindestens eine halbe Sekunde in der Vergangenheit. Unter iOS läuft es jedoch im Handumdrehen.

Absolut nussig. Kein Wunder, dass Android-Entwickler so frustriert sind. Und das ist nur einer sehr klein Beispiel für Android-Fragmentierung. Wann kommt Google zusammen?

Quelle: Evolver.fm

Neuester Blogbeitrag

| Kult des Mac
September 10, 2021

Fliegen Sie hoch mit dem Sub-Zero-Hubschrauber [Angebote]Haben Sie diesen ferngesteuerten Helikopter in der vergangenen Weihnachtszeit nicht auf Ih...

Das iFlash-Laufwerk schlürft überschüssige Fotos von Ihrem iPhone
September 10, 2021

Es ist soweit, dass ich so voll mit Cloud-Speicher für meine Fotos bin, dass ich mein iPhone in die Toilette werfen könnte und nichts verlieren (na...

Könnte iOS 5 iDisk als iCloud mit dem neuen iFS-Dateisystem neu erfinden? [Spekulation]
September 10, 2021

Die WWDC wird nächsten Monat wahrscheinlich unsere erste Vorschau auf die fünfte Hauptversion des iPhone- und iPad-Betriebssystems bereitstellen: i...