Want next and previous button in my YTPlayerView while locked iPhone

别来无恙 提交于 2019-12-11 11:14:35

问题


I want next and previous button in my YTPlayerView while locked iPhone iOS, actually when I use next and previous button in simulator its works well, but when I press next button while iPhone is locked then its crashes, I am using YTPlayerView in my app.

My code in app delegate is

NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];

[MPRemoteCommandCenter sharedCommandCenter].playCommand.enabled = YES;

//comment below hide next and previous

MPRemoteCommandCenter *rcc = [MPRemoteCommandCenter sharedCommandCenter];

MPRemoteCommand *nextTrackCommand = [rcc nextTrackCommand];
[nextTrackCommand setEnabled:YES];
[nextTrackCommand addTarget:self action:@selector(nextTrackCommandAction)];

// Doesn’t show unless nextTrack is enabled
MPRemoteCommand *previousTrackCommand = [rcc previousTrackCommand];
[previousTrackCommand setEnabled:YES];
[previousTrackCommand addTarget:self action:@selector(previousTrackCommandAction)];

-(void)nextButtonMethod{
    NSDictionary *playerVars = @{
                                 @"controls" : @1,
                                 @"playsinline" : @1,
                                 @"autohide" : @1,
                                 @"modestbranding" : @1,
                                 @"showinfo" : @1
                                 };
        [[YTPlayerInstance instance] loadWithVideoId:@"LlrY456zAMU" playerVars:playerVars];
}

My app is crashing on next..


回答1:


I had fallen in this problem too and maybe here it is a possible solution.

I don't know why but with loadWithVideoId used with next and previous buttons in MPRemoteCommandCenter the app crashes when tries to load next or previous video.

So i changed the loadWithVideoId to loadPlaylistByVideos and seems to be working. In your case you could try:

First, init the PlayerView with the playerVars:

NSDictionary *playerVars = @{
                             @"controls" : @1,
                             @"playsinline" : @1,
                             @"autohide" : @1,
                             @"modestbranding" : @1,
                             @"showinfo" : @1
                             };

[self.playerView loadWithPlayerParams:playerVars];

And next load the videos with loadPlaylistByVideos method:

[self.playerView loadPlaylistByVideos:@[@"LlrY456zAMU"] 
                                index:0 
                         startSeconds:0 
                     suggestedQuality:kYTPlaybackQualityMedium];

Finally to load next or previous videos call the methods:

[self.playerView previousVideo];

or

[self.playerView nextVideo];

Hope it helps!



来源:https://stackoverflow.com/questions/32564494/want-next-and-previous-button-in-my-ytplayerview-while-locked-iphone

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!