2015-09-21 2 views
0

Я пытаюсь играть звук в моем приложении с помощью следующего кода:Objective-C - Попытка играть звук

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"errorbeep.wav" ofType:@"m4a"]; 
     NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; 

     AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL 
                     error:nil]; 
     player.numberOfLoops = -1; //Infinite 

     [player play]; 

Но звук не играет :(

после отладки, я могу видеть, что soundFilePath равна нулю Вот скриншот моего файла ресурсов:

enter image description here

+0

wav.m4a? это правильный формат? разве это не должно быть wav или m4a? –

+0

исправьте расширение вашего музыкального файла и проверьте, существует ли файл в Xcode -> Цели -> Фазы сборки -> Копировать ресурсы Bundle. –

+0

просто совет: для коротких звуков лучше использовать библиотеку SystemSounds. – Vanya

ответ

0

Если путь к файлу равен нулю, я бы попытаться переименовать файл только errorbeep.m4a, а затем do:

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"errorbeep" ofType:@"m4a"]; 
+0

Я пробовал переименовать файл, и он вернулся нуль еще – user979331

1

Вы должны импортировать файл в свой проект с одним расширением. Вероятно, это происходит. Просто повторно импортируйте файл как одно расширение (т. Е. Errorbeep.m4a)

0

Выберите свой звуковой файл и проверьте, есть ли у вас целевое членство для вашей цели.

enter image description here

Смежные вопросы