Мое приложение использует один ViewController для воспроизведения разных аудиофайлов. Проблема в том, что если пользователь выходит из вида, чтобы выбрать новый элемент, он просто начинает воспроизводить его поверх того, что уже воспроизводится. Я хочу остановить воспроизведение первого элемента и начать новый. Вот что я имею в своем коде, думая, что replaceCurrentItem
будет достаточно, чтобы ... ну ... заменить то, что играло.
NSURL *newURL = [NSURL URLWithString:_entry.articleUrl];
AVPlayer *player = [AVPlayer playerWithURL:newURL];
AVAsset *newAsset = [AVAsset assetWithURL:newURL];
AVPlayerItem *newItem = [AVPlayerItem playerItemWithAsset:newAsset];
[player replaceCurrentItemWithPlayerItem:newItem];
self.controller = [[AVPlayerViewController alloc]init];
self.controller.player = player;
[self addChildViewController:self.controller];
[self.view addSubview:self.controller.view];
self.controller.view.frame = self.view.frame;
[self.controller.player play];