Musikanwendungen iPhone/iPad

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Musikanwendungen iPhone/iPad

    Hallo,

    ich bin neu hier und beruflich Softwareentwickler in der Windows- und Embedded-Welt. Das iPad hat mich auf eine (für mich) reizvolle Anwendungsidee gebracht, die ich gerne umsetzen würde.

    Allerdings sind die Einstiegshürden für mich recht hoch (iPad, Mac zum Entwickeln, ADC-Mitgliedschaft nötig).

    Daher möchte ich mal vorab zwei Dinge fragen - was ich plane wäre eine Musikanwendung:

    1) Ist es möglich, per API an die Musiksammlung auf dem jeweiligen Gerät heranzukommen, und einzelne Musikstücke vom System DEKODIEREN zu lassen, so dass ich die PCM-Daten im Speicher habe (zumindest teilweise, muss nicht das komplette Stück auf einmal sein)? Könnte mir vorstellen dass das zumindest mit über iTunes gekaufter, kopiergeschützter Musik nicht gehen darf, denn das wäre ja eventuell eine Möglichkeit den Kopierschutz zu unterwandern?
    Gibt es solche API-Funktionen für MP3s?

    2) Wie funktioniert denn die Ausgabe von dynamisch berechnetem Sound so im iPhone OS? Gibt es ähnlich wie bei DirectSound (Windows) Ausgabepuffer, die man mit beliebigen PCM-Daten füllen kann? Gibt es Benachrichtigungsmechanismen, wenn die Wiedergabe über eine bestimmte Stelle in so einem Puffer läuft (so dass man dann andere Teile neu befüllen kann)?

    Wenn ihr Links zu öffentlich zugänglicher Doku habt, schau ich mir die auch gerne an. Ist die iPhone OS Reference Library das Richtige dafür?


    Marc (sorry, Apple-Anfänger)
  • Hallo Marc,

    deine Fragen sind für mich recht ungewöhnlich.

    Sicherlich kommst du irgendwie an die Musiksammlung auf dem jeweiligen Gerät. Sicherlich kommst du auch an einzelne Musikstücke. Zumindest auf dem Mac kannst du unter Zuhilfenahme der Quicktime-API deine Musikstücke hin und her wandeln.
    Ich hab keine Ahnung wie die Ausgabe dynamisch berechneten Sounds funktioniert. Ich hab sowas noch nicht gemacht. Aber im Prinzip ist ein Sound ein Sound, egal ob geladen oder berechnet. Und Sounds lassen sich recht einfach über mehrere Wege abspielen. Ausgabepuffer sind mir da noch nicht bewusst über den Weg gelaufen.

    Warum willst du die MP3/M4A in ihre Rohdaten aufbrechen?

    Ich weiß nicht, ob es fürs iPad ein eigenes SDK geben wird, insofern ist die iPhone Dokumentation schon der richtige Weg.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • RE: Musikanwendungen iPhone/iPad

    Original von MPSNbg
    1) Ist es möglich, per API an die Musiksammlung auf dem jeweiligen Gerät heranzukommen, und einzelne Musikstücke vom System DEKODIEREN zu lassen, so dass ich die PCM-Daten im Speicher habe

    Nein. Du hast Lesezugriff auf die Metadaten der Musikbibliothek und kannst einzelne Titel oder ganze Playlists oder Alben abspielen (genauer: vom System abspielen lassen), aber an die Musikdaten selber kommst du nicht ran. Doku siehe Media Player Framework Reference.
  • @Lucas de Vil:
    Die App die ich da im Kopf habe, soll Musikdateien nicht einfach abspielen, sondern die Musik quasi in Echtzeit entsprechend von Benutzereingaben "verfremden". Dazu bräuchte ich die PCM-Daten, weil ich dann damit selbst herumrechnen will. Wenn der Benutzer etwas an der Oberfläche macht, soll sich das gleich auf die Wiedergabe auswirken. Das heißt ich würde mehrmals pro Sekunde ein neues Soundstück generieren wollen, welches dann einen Sekundenbruchteil später schon ausgegeben wird. Unter Windows hatte ich das mal mit DirectSound umgesetzt, da gibt es Ausgabepuffer die dann zirkulär abgespielt werden. Während z.B. der hintere Teil abgespielt wird, füllt man den vorderen mit neuen Daten usw.

    @elo:
    OK, beim Media Player verstehe ich das, der dürfte echt nur zum reinen Abspielen gedacht sein. Habe in der Zwischenzeit noch das hier im Core Audio Overview gefunden, das mir etwas Hoffnung gemacht hat. Was wäre davon zu halten? Weiß jetzt nicht, wie da ein eventueller Kopierschutz mit reinspielt.
  • Original von MPSNbg
    @elo:
    Habe in der Zwischenzeit noch das hier im Core Audio Overview gefunden, das mir etwas Hoffnung gemacht hat. Was wäre davon zu halten?


    Klar, Core Audio kann mit Musikdaten in allen möglichen Formen umgehen. Du kommst aber aus deiner App-Sandbox nicht an die Dateien aus der iPod-Library ran.
  • Es verstößt mutmaßlich auch ganz erheblich gegen das Urheberrecht.
    Aber eigene Musikdateien außerhalb der Bibliothek sollten doch kein Problem darstellen, oder?
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Lucas, also wenn ich die Sandbox richtig verstanden habe bedeutet sie dass meine App nur Zugriff auf Dateien in ihrem eigenen Home-Directory hätte, auf nichts sonst im Dateisystem.

    "Eigene Musikdateien außerhalb der Bibliothek" würde also bedeuten, dass der Benutzer diese (z.B. seine MP3s) selbst ins Home-Directory meiner App kopieren müsste?

    Mal davon abgesehen dass das ein wenig schräg ist - kann der Benutzer das mehr oder weniger komfortabel tun, wenn er will? (Habe noch kein iPhone, weiß also nicht wie da die Benutzerschnittstelle aussieht.)
  • Original von MPSNbg
    "Eigene Musikdateien außerhalb der Bibliothek" würde also bedeuten, dass der Benutzer diese (z.B. seine MP3s) selbst ins Home-Directory meiner App kopieren müsste?

    Zur Zeit gibt es dafür nur zwei Möglichkeiten: Entweder Du installierst die Dateien mit Deiner App in den Ressourcenordner der App oder Du lädst Sie über eine URL in den Documents-Ordner der App nach. An die Musik der iPod-App kommst Du nur so ran, wie es elo beschrieben hat.
    „Meine Komplikation hatte eine Komplikation.“
  • Also da muss ich jetzt nochmal blöd nachfragen. Wenn ich das Gerät hätte, würde ich wahrscheinlich klarer sehen.

    Ich will dass Benutzer meiner imaginären App ihre Musikstücke in meiner App laden können. Die App muss dazu die Dateien selbst lesen können. Wenn das mit der iPod-Library nicht geht, dann meinetwegen mit irgendwelchen MP3s. Aber die liefere ich nicht mit der App aus, das müssen schon die Musikstücke des Benutzers sein.

    Sieht der Benutzer ein Dateisystem auf dem iPhone/iPad?

    Was bedeutet "über eine URL in den Documents-Ordner nachladen"?
    Heißt es ich müsste in meine App eine Art Dateidownload einbauen? Wenn das nur aus dem Internet möglich ist, bringt es mir nichts. Höchstens das Kopieren von einem Mac oder PC im lokalen Netz (über WLAN) würde etwas bringen. Geht das denn prinzipiell?


    Marc
  • Soweit ich weiß sieht der Nutzer das Dateisystem auf dem Telefon nicht ohne Weiteres.
    Applikationen, die diese Möglichkeit anbieten, sind meiner Erinnerung nach von Apple nicht gern gesehen (a.k.a. werden kategorisch abgelehnt, da vermutlich sehr viele private Methoden genutzt werden).

    'Über eine URL in den Documents-Ordner nachladen' meint genau das. Dabei kann eine URL sonstwas sein. Ne Website, das Dateisystem (es ist zugegebenermaßen schräg, eine Datei aus dem Documents-Ordner in den Documents-Ordner zu laden) oder (sofern möglich) irgendwelche Netzwerkfreigaben.

    Apple hat ganz schön die Finger drauf, was mit ihren Geräten geschieht.
    Soll heißen: vermutlich geht Einiges, vieles darfst du aber nicht machen.

    Wenn es für dich zum Testen und spielen sein soll, dann kannst du ja probieren. Wenn du die Anwendung im großen Stil vermarkten willst, dann wird das sicherlich Probleme mit sich bringen. Das am ehesten Zielführende wird dann sein, an Apple mit deiner Programmidee heranzutreten und abzuklären, was wie geht und was nicht.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P