AVAudioPlayer startet nicht nach Localization der Audio-Dateien

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

  • AVAudioPlayer startet nicht nach Localization der Audio-Dateien

    Hallo zusammen

    Ich will meine App als deutsche und englische Version anbieten, die englische soll als Base-Version dienen.
    Ich habe einige Audio-Dateien, die Anweisungen in der jeweiligen Sprache enthalten. Diese muss ich nun also lokalisieren.
    Ich bin folgendermaßen vorgegangen:

    1. MP3 ausgewählt
    2. rechts auf "localize" geklickt
    3. Base ausgewählt
    4. Deutsch und englisch hinzugefügt (Haken gesetzt, nach erneuter Auswahl der MP3)
    5. Nun die englischen Dateien im de.lproj Ordner ersetzt mit den deutschen Pendants. (mit gleichem Namen)


    Das ganze funktioniert für Bilder perfekt, mein AudioPlayer startet allerdings nicht mehr. (Davor hat er immer ohne Probleme gespielt)

    Mein Code für den AVAudioPlayer:

    Quellcode

    1. NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/crunch_wdh8.mp3", [[NSBundle mainBundle] resourcePath]]];
    2. NSError *error;
    3. audioPlayer.delegate = (id)self;
    4. //NSLog(@"Entered the callback function");
    5. audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    6. audioPlayer.delegate = (id)self;
    7. if (audioPlayer== nil) {
    8. NSLog(@"%@", error );
    9. } else {
    10. [audioPlayer play]; }
    Alles anzeigen


    Wie geschrieben, hat der AudioPlayer vor der Lokalisierung perfekt gearbeitet. Nun spielt er allerdings nichts mehr ab.
    Was mache ich denn falsch??
  • Ist ja auch kein Wunder, denn "%@/crunch_wdh8.mp3" ist ja auch ein fester Pfad, welchen Du für lokalisierte Resourcen nicht verwenden kannst.

    Warum verwendest Du nicht pathForResource:ofType:?

    BTW: Pfade sollte man nie mit stringWithFormat: zusammen setzen. Dazu gibt es eigene Methoden von NSString wie z.B. stringByAppendingPathComponent:

    Für den Zugriff auf Resourcen in einem App Bundle sollte man pathForResource:ofType: und dergleichen von NSBundle verwenden. Dann klappt es auch mit der Lokalisierung. ;)