Възпроизвеждане на аудио от създадена директория

Здравейте, използвам следния код за възпроизвеждане на аудио файл

NSString *stringPath = [[NSBundle mainBundle]pathForResource:@"audioFileName" ofType:@"mp3" inDirectory:@"/Downloads"];
    NSURL *url = [NSURL fileURLWithPath:stringPath];
    NSError *error;

    avPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
    avPlayer.delegate = self;
    [avPlayer play];

Но получавам грешка, тъй като аудио файловете си намерих в папка, наречена "Downloads" Path: AppName/Library/ApplicationSupport/Downloads/audioFileName.mp3

Грешката, която получавам, е, че низът stringPath е нула, вероятно защото този ред код е написан грешно. Със сигурност знам, че файлът е там!

Ето изображение, използващо софтуер за сърфиране на файлове

въведете описание на изображението тук

И така, въпросът ми как да променя горния код, за да сочи към моята директория за изтегляния, когато възпроизвеждам аудио файл. Благодаря

Дори се опитах да поставя целия път по този начин.

NSString *stringPath = [[NSBundle mainBundle]pathForResource:@"audioFileName" ofType:@"mp3" inDirectory:@"Library/Application Support/Downloads"];

Актуализация на състоянието!

Сега правя следното и грешката изчезна, но не съм сигурен дали все още сочи към правилната папка и ако е така, възможно ли е да нямам разрешения да използвам файловете в нея. Това е директория, която създадох, така че промяната на разрешенията за нея след създаването й е нещо, което също трябваше да направя?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *libraryDirectory = [paths objectAtIndex:0];

NSString *stringPath = [[libraryDirectory stringByAppendingPathComponent:@"Downloads"] stringByAppendingPathComponent:@"audioFileName.mp3"];

person 4GetFullOf    schedule 21.01.2014    source източник


Отговори (1)


Вярвам, че pathForResource е само за файлове, които включвате с приложението си. Вие сте направили аудио файла в папката Library, която не е във вашата папка .app... така че можете да опитате да използвате нещо като:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *libraryDirectory = [paths objectAtIndex:0];

NSString *stringPath = [[libraryDirectory stringByAppendingPathComponent:@"Downloads"] stringByAppendingPathComponent:@"audioFileName.mp3"];
person ecsos    schedule 21.01.2014
comment
хм това елиминира грешката, НО нищо не се възпроизвежда, когато натисна възпроизвеждане? Още веднъж знам със сигурност, че аудиофайлът ми е там, не съм сигурен защо не чувам нищо? Някаква идея? - person 4GetFullOf; 22.01.2014
comment
възможно ли е директорията, която създадох, да няма правилните разрешения за използване на файловете в нея? - person 4GetFullOf; 22.01.2014
comment
не трябва да са разрешения, тъй като вие сте го създали. ето нишка, която донякъде е подобна и можете да опитате да използвате NSData, както правят те: stackoverflow.com/questions/10195410/ - person ecsos; 22.01.2014
comment
Благодаря, но пак няма късмет - person 4GetFullOf; 22.01.2014
comment
Промених отговора ви. Беше почти правилно, но пътят беше грешен. /var/mobile/Applications/1E39375E-0D1D-4436-B714-8A6EB023A74E/Library/Downloads беше това, което получавах, така че просто трябваше да добавя поддръжка на приложения точно преди. - person 4GetFullOf; 22.01.2014