Obj C просто проиграй mp3 - PullRequest
0 голосов
/ 10 мая 2011

Я видел этот маленький кусочек кода по крайней мере в трех уроках, когда я нажимаю кнопку, связанную с действием, я получаю:

'NSInvalidArgumentException', причина: '* - [NSURL initFileURLWithPath:]: строковый параметр nil '

Он говорит, что мой путь нулевой, что соответствует консоли.Есть идеи о том, что мне не хватает?

-(IBAction) pushStart
{
    NSString *arrowSoundPath = [[NSBundle mainBundle] pathForResource:@"Arrow.mp3" ofType:@"mp3"];
    NSLog(@"%@",arrowSoundPath);
    AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:arrowSoundPath] error:NULL];
    theAudio.delegate = self;
    [theAudio play];
}

1 Ответ

6 голосов
/ 10 мая 2011

Удалите расширение .mp3 из первого параметра в -pathForResource:ofType:.Это должно быть [[NSBundle mainBundle] pathForResource:@"Arrow" ofType:@"mp3"].Теперь, когда у вас это есть, -pathForResource:ofType: ищет файл с именем Arrow.mp3.mp3, которого не существует, поэтому он возвращает nil, что вызывает вашу ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...