- (IBAction)playOrPauseSound:(id)sender;
{
[_audioPlayer play];
[[NSNotificationCenter defaultCenter] addObserver:_audioPlayer selector:@selector(nextsong:) name:AVPlayerItemDidPlayToEndTimeNotification object:nil];
}
- (IBAction)nextsong:(id)sender {
//code
}
1
A
ответ
1
Вы должны установить для сервера уведомлений self
, поскольку это объект, который действует как наблюдатель. Вы также должны установить уведомление в _audioPlayer
, поскольку это объект, который отправляет уведомление AVPlayerItemDidPlayToEndTimeNotification
.
Кроме того, метод выбора должен иметь экземпляр NSNotification в качестве единственного аргумента. Так что я был бы соблазн создать отдельный метод для обработки получения уведомлений, которые затем вызывает следующий метод песня, может быть:
- (void)receivedNextSongNotification:(NSNotification *)notification
{
[self nextsong:nil];
}
Таким образом, в целом, что-то вроде этого:
- (IBAction)playOrPauseSound:(id)sender
{
[_audioPlayer play];
[[NSNotificationCenter defaultCenter] addObserver: self //will look for the selector in the current class
selector: @selector(playerItemDidPlayToEndTime:)
name: AVPlayerItemDidPlayToEndTimeNotification
object: _audioPlayer]; // the object that sends the notifications
}
- (void)playerItemDidPlayToEndTime:(NSNotification *)notification
{
[self nextsong:nil];
}
- (IBAction)nextsong:(id)sender
{
//code
}
Также убедитесь, для звонка removeObserver:name:object:
до self
или _audioPlayer
освобождается.
Надеюсь, что это поможет.
Смежные вопросы
- 1. ПОЖАЛУЙСТА, помогите мне с метеорным методом
- 2. Помогите мне построить инструкцию выбора SQL
- 3. Центр уведомлений в Голанге
- 4. Центр уведомлений javascript
- 5. Azure центр уведомлений
- 6. Центр уведомлений Apple Watch
- 7. Azure центр уведомлений уведомлений только для iOS
- 8. Ошибка регистрации Push-уведомлений. ПОМОГИТЕ!
- 9. Программный программный центр и центр уведомлений
- 10. Центр уведомлений - Obervers не работает должным образом
- 11. Центр уведомлений Windows Azure, мое приложение не получает уведомлений
- 12. Помогите разобраться с защищенным методом
- 13. Центр уведомлений с локализованными сообщениями
- 14. run() никогда не вызывается методом Thread.start()
- 15. Насмешка не вызывается методом из репозитория (интерфейс)
- 16. Узнайте, какой класс вызывается методом
- 17. Помогите мне понять Массивы
- 18. Помогите мне понять Sharepoint
- 19. HTML Обзор, Помогите мне
- 20. Ошибка сегментации !!!!! Помогите мне
- 21. Помогите мне исправить программу
- 22. Помогите мне с фрагментами
- 23. Помогите мне с py2exe
- 24. Помогите мне понять MVC.NET
- 25. Помогите мне понять NewExpression.Members
- 26. Помогите мне написать функцию
- 27. SQL обновления (помогите мне)
- 28. Счетчик;; Помогите мне понять
- 29. Ошибка: org.hibernate.hql.internal.ast.QuerySyntaxException, Помогите мне?
- 30. помогите мне понять cuda