Как я могу управлять AVAudioplayer во всех представлениях моего приложения

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

Есть ли простой способ сделать это? или мне нужно объявить игрока в каждом из представлений...?

Спасибо


person Pach    schedule 29.03.2012    source источник


Ответы (1)


Здесь я могу думать двумя способами сделать это.

Первый:

Создайте представление controller, которое стоит над всеми другими представлениями. Взгляните на контейнер представления, если вы не знаете, как это сделать. Вы можете сделать этот вид сверху (контроллер представления... не view) экран игрока.. с кнопкой воспроизведения, следующей кнопкой и т. д. Таким образом, avplayer будет объявлен в этом viewController.

У второй идеи есть пункт, который противоречит некоторым текстам, в которых описывается, что мы не должны создавать и использовать переменные и методы в AppDelegate, даже если это работает нормально.. для этого создайте AVPlayer и методы для воспроизведения и остановки музыки в делегате приложения. , затем импортируйте appDelegate.h в свой класс и выполните следующие методы:

[((AppDelegate*)[[UIApplication sharedApplication] delegate]) playSongWithName:@""];

Я надеюсь, что это помогает..

person Roberto Ferraz    schedule 04.11.2012