В моем приложении есть табличное представление, которое при выборе открывает новый контроллер представления и использует AVPlayer, чтобы начать воспроизведение переданного ему URL-адреса. Однако, когда они возвращаются и выбирают новый элемент для воспроизведения, я не могу заставить его остановить первый и начать воспроизведение второго. Какие-либо предложения?
- (void)viewWillAppear:(BOOL)animated {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
NSURL *newURL = [NSURL URLWithString:_entry.articleUrl];
AVPlayer *player = [AVPlayer playerWithURL:newURL];
_controller = [[AVPlayerViewController alloc]init];
_controller.player = player;
// show the view controller
[self addChildViewController:_controller];
[self.view addSubview:_controller.view];
_controller.view.frame = self.view.frame;
[player play];
self.title = _entry.articleTitle;
[super viewWillAppear:YES];
}
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithURL:url]]
, чтобы изменить текущий элемент, а затем[player play]
, чтобы начать воспроизведение. - person skaak   schedule 02.03.2021replaceCurrentItem
, и она по-прежнему делает то же самое. Продолжает воспроизводить оригинал и добавляет второй. - person user717452   schedule 02.03.2021