2 Lieder gleichzeitig aus der iPod Library wiedergeben

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

  • 2 Lieder gleichzeitig aus der iPod Library wiedergeben

    Hey Leute,

    Ich habe ein kniffliges Problem: Ich möchte zwei Lieder gleichzeitig aus der iPod Library wiedergeben. Wichtig dabei ist, dass ein Titel links und einer rechts im Stereopanorama liegen soll.

    Den Panoramabefehl habe ich bisher leider nur beim AVAudioPlayer gefunden, dieser kann aber nicht auf die iPod Library zu greifen. Alles was meines Wissens nach auf die Library zugreifen kann, hat keine Panoramafunktion. Um dem ganzen aus dem Weg zu gehen, versuche ich über AVReader und AVWriter, ein Musiktitel aus der iPod Library in den Ordner der App zu kopieren, wo ich dann mit dem AVAudioPlayer zugreifen kann. Problem dabei: Sobald die Konvertierung/Kopierung startet, kann ich parallel nichts wiedergeben.

    Wie bekomme ich es nun hin diese zwei Lieder aus der iPod Bibliothek wieder zu geben und dabei eins links und eins rechts?

    Ich hoffe ihr versteht mein Problem und könnt mir wenigstens verraten mit welchem Player Objekt ich arbeiten muss/sollte.
    Vielen Dank für eure Hilfe.
    MfG Leo

    aps.leokaessner.de
    www.leokaessner.de
  • Moin,

    du kannst die 2 Songs ja aus der Library laden. Diese dann in einem NSData-Objekt zwischenspeichern und damit dein AVAudioPlayer füttern. Dann müsste es auch mit dem gleichzeitigen Abspielen funktionieren und du brauchst keine temporäre Dateien in irgendwelche Ordner schreiben.

    Gruß, Mirko
  • Hey mirko,

    das klingt verblüffend einfach ;) könntest du mir evtl. einen kurzen bsp. code schicken wie ich die lieder in das NSdata objekt bekomme? beim AVAudioPlayer sage ich dann wohl einfach "initWithData: ..." ?!

    ich danke dir für deine schnelle Rückmeldung.

    Gruß LEO
    MfG Leo

    aps.leokaessner.de
    www.leokaessner.de
  • Wie du die Audio-Daten in ein NSData-Object packst habe ich jetzt direkt auch nicht auf dem schirm (noch keine tiefergehende Audio-Sachen am Ip gemacht).
    Aber wenn du in der Lage bist die Audio-Daten in ein anderen Ordner zu kopieren, hast du meiner Ansicht nach die reinen Daten schon in der Hand.


    NSData hat da sehr schönen init-Methoden. dataWithBytes oder dataWithContensOfFile <- wobei du bei letzteren vielleicht schon den Library-Dateipfad übergeben kannst. ch würde e so versuchen ;)

    Gruß
  • Hey,

    ich habe es gerade probiert doch es scheint weit aus komplizierter als gedacht zu sein. Wahrscheinlich beschränkt Apple den Zugriff auf die iPod-Datein zu sehr. Ich habe folgenden Quelltext doch mein NSData Object bleibt leer. Vielleicht kann jemand weiterhelfen oder einen anderen Vorschlag bringen?! Ich bin ratlos :)

    MPMediaQuery* query = [[[MPMediaQuery alloc] init] autorelease];
    NSURL *assetURL = [[[query items] objectAtIndex:0] valueForProperty:MPMediaItemPropertyAssetURL];

    NSData *audioData = [[NSData alloc] initWithContentsOfURL:assetURL];

    self.playerLeft = [[AVAudioPlayer alloc] initWithData:audioData error:nil];

    Die App stürzt zwar nicht ab aber ich kann nichts abspielen, da ja mein NSData leer bleibt. HILFE ?! ;)
    MfG Leo

    aps.leokaessner.de
    www.leokaessner.de
  • ui ui ui....

    [[[query items] objectAtIndex:0] valueForProperty:MPMediaItemPropertyAssetURL]

    musst du nicht vorher sagen was du genau habe möchtest. Also als Computer würde ich jetzt nicht wissen was du eigentlich aus Library haben möchtest.
    Du kannst hier alles mögliche zurückbekommen...


    MPMediaItemPropertyAssetURL <- gibt´s hier nicht was mit Path oder FileAtPath? Ich weiß jetzt auch nicht viel weiter.

    ich scoute mal mich interessiert das jetzt auch ;)

    check mal was die assetURL zurückgibt. Ist das ein vernünftiger Pfad oder steht da was anderes.