AVAudioPlayer не воспроизводит звук

Я работаю над приложением iOS, которое должно воспроизводить некоторые звуки, используя структуру AVFoundation . Структура рабочего пространства в Xcode 4 содержится два проекта:

  • Рабочая область
    • Само приложение (главный проект)
    • Служебная библиотека

После сборки служебной библиотеки получается статическая библиотека, которая используется в основном приложении в качестве фреймворка.

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

NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
NSString *path = [NSString stringWithFormat:@"%@/sound.mp3", resourcePath];

NSURL *url = [NSURL fileURLWithPath:path];
NSError *error = nil;

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url
                                                                    error:&error];
[audioPlayer play];

Напротив, при попытке воспроизвести точно такой же звук (или любой другой) внутри служебной библиотеки с использованием того же кода, что и выше, звук вообще не воспроизводится, даже если ошибка nil и audioPlayer значения свойства правильные (количество каналов, продолжительность).

Я убедился, что фреймворк AVFoundation присутствует в обоих проектах.

Кроме того, мой класс использует протокол AVAudioPlayerDelegate и реализует эти два метода:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error;

Ни один из этих методов не вызывается после попытки воспроизвести звук.

Если вместо этого я использую фреймворк AudioToolbox , он воспроизводит звук. Но я заинтересован в использовании AVFoundation по нескольким причинам.

Есть идеи, что происходит? Мне что-то не хватает в AVFoundation ? Может ли это быть связано с использованием AVAudioPlayer из статической библиотеки?

Заранее спасибо.

58
задан msoler 4 August 2014 в 12:40
поделиться