iOS 5 - проигрывать аудиофайл в фоновом режиме при запуске приложения - PullRequest
1 голос
/ 08 февраля 2012

Я новичок в iOS и занимаюсь разработкой приложения.Я искал повсюду, чтобы получить простой пример того, как проигрывать аудиофайл в фоновом режиме при запуске приложения.Поскольку приложение, которое я разрабатываю, связано с уроками музыки, мне нужно, чтобы этот звук воспроизводился, когда домашний экран активен.Это то, что я сделал до сих пор ...

  1. Создан домашний экран (UIViewController) с некоторыми фоновыми изображениями и кнопкой для дальнейшей навигации в приложении.
  2. Настройка«Необходимый фоновый режим» в .plist
  3. Добавить аудиофайл в проект
  4. В моем контроллере у меня есть следующий блок кода.

    - (void)viewDidLoad
    {
        [super viewDidLoad];   
    
        //Set some labels here
        //Set a background image
    
         NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"shrutiFsharp" ofType:@"mp3"]]; 
         AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
    
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
        [[AVAudioSession sharedInstance] setActive: YES error: nil];
        [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    
        [audioPlayer play];
    
    }
    

Все метки, фоновое изображение, кнопки отображаются нормально ... и я могу перейти к другому виду.Но когда я на домашнем экране, я просто не могу получить аудиофайл для воспроизведения.Я использую симулятор iPhone 5.0.

Я не вижу сообщений об ошибках в консоли.

Код, который вы видите здесь, взят из примера, который уже был опубликован ... но я не совсем уверен, почему это не работает.Я, наверное, что-то очень скучаю.Любая помощь приветствуется.

-KD

1 Ответ

0 голосов
/ 08 февраля 2012

Вы должны использовать параметры ошибки так, как они были предназначены. Вполне вероятно, что аудиоплеер пытается точно сказать вам, почему это не может продолжаться, но вы игнорируете это!

NSError *error = nil;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url
                                                                    error:&error];
if (error) {
    NSLog(@"audio player error: %@", [error localizedDescription]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...