Das ist meine Klasse, die mein Video verwaltet:ACHTUNG: unter normalen Bedingungen, _fillInQueueWithExtraSpace: ignoreExistingItems: sollte nicht erneut eingegeben
#import "video.h"
#import <MediaPlayer/MediaPlayer.h>
@interface video()
{
MPMoviePlayerController* videoView;
}
@end
@implementation video
static video *sharedSingleton = nil;
+ (video *)sharedSingleton
{
@synchronized([video class])
{
if (!sharedSingleton)
sharedSingleton = [[super allocWithZone:NULL] init];
return sharedSingleton;
}
return nil;
}
- (id)init
{
self = [super init];
CGRect dimVideo = CGRectMake(0, 0, 472, 400);
NSURL* videoPath = [[NSBundle mainBundle] URLForResource: @"videoName" withExtension: @"mp4"];
self->videoView = [[MPMoviePlayerController alloc] initWithContentURL:videoPath];
[self->videoView.view setFrame:dimVideo];
[self->videoView prepareToPlay];
return self;
}
- (void)addVideoOn:(UIView*)view{
[view addSubview:self->videoView.view];
[self->videoView play];
}
- (void)removeVideo{
[self->videoView stop];
[self->videoView.view removeFromSuperview];
}
@end
Aber manchmal bekomme ich diesen Fehler, wenn das Video abspielen: ACHTUNG: unter normale Bedingungen, _fillInQueueWithExtraSpace: ignoreExistingItems: sollte nicht erneut eingegeben werden.
Wo ist das Problem? Vielen Dank im Voraus
Ich bemerkte eine Sache: Video friert ein, wenn Sie die Zeit zwischen dem Stopp und spielen übergeben. Ich habe den Fehler behoben und das Video pausiert, nicht gestoppt.
ist es üblich, Ihre Klassennamen zu nutzen : "Video" statt "Video" – nielsbot
auch das wird abstürzen, wenn 'self == nil' aus welchem Grund auch immer in' -init' – nielsbot
die Dokumentation für 'MPMoviePlayerController' sagt" der Rahmen des Spielers muss mit dem der Eltern übereinstimmen ", was nicht der Fall ist dein Code. Ich würde versuchen, das zuerst zu beheben. – nielsbot