Frage

Ich verwende den folgenden Code, um das Video abzuspielen.Eigentlich spielt es sich sehr gut. Manchmal erhalte ich den folgenden Fehler: [AVFileValidator fpItemNotificationInfo:]: Nicht erkannter Selektor an Instanz 0x8114e50 gesendet.Als ich danach suchte, erreichte ich den privaten Bereich des Media Players.Ich habe nicht wirklich verstanden, was es bedeutet.Bitte helfen Sie, wenn jemand die Antwort kennt.

-(void)playerPrepare
{

    player.view.frame = CGRectMake(0.0f, 0.0f, 480.0f, 320.0f);

    [self.view addSubview:player.view];

    [player setControlStyle:MPMovieControlStyleNone];

    [player play];

}

-(void)breadInPlate
{
    // Do any additional setup after loading the view from its nib.
    NSString *url = [[NSBundle mainBundle] pathForResource:@"10_Anim_iPhone" 
                                                    ofType:@"mp4"];

    NSURL *movieURL = [NSURL fileURLWithPath:url];



    player = [[MPMoviePlayerController alloc] 
              initWithContentURL:movieURL];




    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(movieFinishedCallback:)                                                 
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];

    [player prepareToPlay];

    [self performSelector:@selector(playerPrepare) withObject:nil afterDelay:0.5];

    breadTimer = nil;

}

-(void)viewDidLoad
{
breadTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(breadInPlate) userInfo:nil repeats:NO];
}

- (void) movieFinishedCallback:(NSNotification*) aNotification {
    player = [aNotification object];
    [[NSNotificationCenter defaultCenter] 
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];    


    [player.view removeFromSuperview];
    [player release];
    player = nil;


}

Während ich den Code gelegentlich ausführe, wird der folgende Fehler angezeigt.

-[AVFileValidator fpItemNotificationInfo:]: unrecognized selector sent to instance 0x8114e50
2011-10-20 14:48:16.754 PansjoPictureBook[1596:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AVFileValidator fpItemNotificationInfo:]: unrecognized selector sent to instance 0x8114e50'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x33ac0987 __exceptionPreprocess + 114
    1   libobjc.A.dylib                     0x3347b49d objc_exception_throw + 24
    2   CoreFoundation                      0x33ac2133 -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
    3   CoreFoundation                      0x33a69aa9 ___forwarding___ + 508
    4   CoreFoundation                      0x33a69860 _CF_forwarding_prep_0 + 48
    5   CoreFoundation                      0x33a5ebbf -[NSObject(NSObject) performSelector:withObject:] + 22
    6   Celestial                           0x33c9e309 -[AVObjectRegistry safeInvokeWithDescription:] + 124
    7   CoreFoundation                      0x33a5ebbf -[NSObject(NSObject) performSelector:withObject:] + 22
    8   Foundation                          0x33639795 __NSThreadPerformPerform + 268
    9   CoreFoundation                      0x33a767dd __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
    10  CoreFoundation                      0x33a485b7 __CFRunLoopDoSources0 + 382
    11  CoreFoundation                      0x33a47e5b __CFRunLoopRun + 230
    12  CoreFoundation                      0x33a47c87 CFRunLoopRunSpecific + 230
    13  CoreFoundation                      0x33a47b8f CFRunLoopRunInMode + 58
    14  GraphicsServices                    0x33b0e4ab GSEventRunModal + 114
    15  GraphicsServices                    0x33b0e557 GSEventRun + 62
    16  UIKit                               0x32099329 -[UIApplication _run] + 412
    17  UIKit                               0x32096e93 UIApplicationMain + 670
    18  PansjoPictureBook                   0x0000224f main + 82
    19  PansjoPictureBook                   0x000021f8 start + 40
)
terminate called after throwing an instance of 'NSException'

War es hilfreich?

Lösung

Um diesen Fehler zu vermeiden.Bitte überprüfen Sie, ob mpmovieplayer bereits abgespielt wird. Wenn es gerade abgespielt wird, lassen Sie es los und senden Sie erst nach dem Relaese des ersten Spielers eine Anfrage, um den zweiten Spieler zu spielen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top