pathForResource из URL - PullRequest
       37

pathForResource из URL

0 голосов
/ 08 декабря 2011

У меня есть этот код:

NSString *songPathForm = @"http://www.example.com/file.wav";

NSString *song = [[NSBundle mainBundle]pathForResource:songPathForm ofType:nil];

Но песня просто обнуляется, что я делаю неправильно?

Ответы [ 3 ]

2 голосов
/ 08 декабря 2011

«Путь» здесь означает путь к файлу в локальной файловой системе. То, что вы даете NSBundle, является URL. NSBundle обычно используется для получения файлов, которые находятся в самом приложении (что вы видите, когда выбираете «Показать содержимое пакета» в Finder). NSBunlde ожидает также относительный путь к файлу, а не абсолютный (потому что вы не знаете, где находится приложение).

1 голос
/ 08 декабря 2011

Метод pathForResource работает только для файлов внутри пакета.Если вы хотите получить доступ к файлу по внешнему URL, вы можете использовать, например, dataWithContentsOfURL: в классе NSData.

0 голосов
/ 08 декабря 2011

Чтобы воспроизвести звук, для которого вы знаете URL, вы должны использовать код, подобный следующему:

NSSound *sound = [[NSSound alloc] initWithContentOfURL: [NSURL URLWithString:songPathForm] byReference:NO];
[sound play];
...