У меня есть два симптома:
1) когда я вызываю [ourMovie release]
в моем movieFinished:
методе ниже , мне говорят, что я выпускаю что-то уже выпущенное .. не передается ли [sentNotification object]
в - movieFinished:
a скопировать и, следовательно, что-то, что я должен выпустить ??
2) Абсолютно не связано с (1) то, что при добавлении наблюдателя NSNotification для MPMoviePlayerPlaybackDidFinishNotification
фильм не отображается. Нет обнаружимой ошибки, просто нет шоу ?? Моя цель здесь - определить, когда пользователь приостанавливает или останавливает воспроизведение, а затем нажимает кнопку «Домой», чтобы отправить мое приложение в фоновый режим. Когда приложение возвращается на передний план, я хочу продолжить фильм, где пользователь оставил его, когда он нажал кнопку паузы или остановки ... не начинать с нуля, как мое приложение сейчас.
Прежде чем продолжить, в моем AppDelegate есть
:
[notificationCenter addObserver:self
selector:@selector(pauseApp)
name:@"UIApplicationDidEnterBackgroundNotification"
object:ourApp];
К вашему сведению: мой –pauseApp в итоге вызывает [ourMovie pause]
В моем –playVideo: у меня есть метод
[notificationCenter addObserver:self
selector:@selector(movieFinished:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:ourMovie];
[notificationCenter addObserver:self
selector:@selector(pauseDownload)
name:@"MPMoviePlayerPlaybackStateDidChangeNotification"
object:ourMovie];
и для моего метода - MovieFinished у меня есть
- (void )movieFinished:(NSNotification *)sentNotification
{
NSObject *theNotifyObject = [sentNotification object];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
if ( [theNotifyObject isKindOfClass:[MPMoviePlayerController class]] )
{
MPMoviePlayerController *ourMovie = (MPMoviePlayerController *)theNotifyObject;
[notificationCenter removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:ourMovie];
[notificationCenter removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:ourMovie];
[ourMovie pause];
[ourMovie stop];
[ourMovie release]; // release what we don't own ???
}
}