Проблемы с AVAudioPlayer в приложении multiView - PullRequest
0 голосов
/ 26 августа 2011

В моем приложении у меня есть 2 просмотра: в 1-ом - просмотр таблицы с аудио-файлами.Когда коснуться ячейки AVAudioPlayer начать играть.Когда я перехожу во 2-й вид, AVAudioPlayer продолжает играть, а когда я возвращаюсь в 1-й вид, продолжаю играть так.Но с этого момента начинаются проблемы: когда я прикасаюсь к другой ячейке, начинаю воспроизводить этот и предыдущий треки, а когда снова касаюсь, проигрываю 3 трека одновременно.И поэтому моя кнопка «Play / Pause» работает после этого некорректно.Как я могу решить эту ошибку?В каждом viewDidLoad я создаю новый объект AVAudioPlayer и присваиваю ему значение предыдущего объекта

(void)viewDidLoad {

    [self.traxbax.avAudioPlayer stop];

    audioPlayer=self.traxbax.avAudioPlayer;

    [self.traxbax.avAudioPlayer release];

    [audioPlayer play];
}


(void)viewDidLoad
{

    [self.bmvc.audioPlayer stop];

    avAudioPlayer=self.bmvc.audioPlayer;

    [self.bmvc.audioPlayer release];

    [avAudioPlayer play];

    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

1 Ответ

0 голосов
/ 26 августа 2011

Это определенная проблема с выпуском AVAudioPlayer. Вы можете попробовать добавить в строку после выпуска:

self.bmvc.audioPlayer = nil;

Кстати: не очень понятно, почему у вас есть [super viewDidLoad] в последней строке. Предполагается, что это первая строка метода.

...