2011-01-06 3 views
0

Так что мне очень неинтересно задавать этот вопрос, но я потратил немало времени на поиск документации Apple и Google безрезультатно. Я просто пытаюсь установить категорию AVAudioSession для моего приложения ONCE, когда applicationDidFinishLaunching. У меня есть приложение, которое воспроизводит аудиопоток, и я бы хотел, чтобы он продолжал играть, когда приложение входит в фоновый режим, поэтому я пытаюсь использовать категорию воспроизведения. Вот мой код AppDelegate.m:Настройка категории AVAudioSession в AppDelegate.m

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
// Set AudioSession 
NSError *sessionError = nil; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError]; 
[[AVAudioSession sharedInstance] setActive:YES error:&sessionError]; 
[[AVAudioSession sharedInstance] setDelegate:self]; 

// create window and set up navigation controller 
[window addSubview:myNavController.view]; 
[window makeKeyAndVisible]; 

} 

# pragma mark - 
# pragma mark AVAudioSession Delegate Methods 
- (void)beginInterruption { 
} 
- (void)endInterruption { 
} 
- (void)endInterruptionWithFlags:(NSUInteger)flags { 
} 
- (void)inputIsAvailableChanged:(BOOL)isInputAvailable { 
} 

С помощью этого кода, звук затухает в любое время, я нажал на кнопку домой, поставив приложение в фоновом режиме. Любая помощь очень ценится, я надеюсь, что это - это быстрый ответ для любого, кто сделал это раньше.

ответ

2

Сначала добавьте ключ UIBackgroundModes в файл Info.plist, если вы еще не сделали этого. Дополнительная информация here.

Если вы уже это сделали, какую рамку вы используете для воспроизведения своих медиа?

1

Спасибо за помощь Ирен. Вы почти полностью согласны с вашим ответом, за исключением того, что я просто хотел предоставить шаги, необходимые для работы на меня. Я прочитал документацию яблока, что вы размещены и по какой-то причине он оставил эти важные детали из:

  1. При добавлении ключа UIBackgroundModes в .plist файла, вы должны сделать это массивом.
  2. Значение для элемента 0 массива должно быть аудио.

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

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