iPhone SDK: как остановить воспроизведение видео с помощью кода? - PullRequest
0 голосов
/ 25 октября 2009

В моем приложении я играю видео, используя этот простой код:

NSBundle *bundle = [NSBundle mainBundle];
NSString *moviePath = [bundle pathForResource:@"video" ofType:@"mp4"];
NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain];
MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
theMovie.movieControlMode = MPMovieControlModeHidden;
[theMovie play];

Я хотел бы знать, как остановить видео с кодом, я пробовал [theMovie stop];, но это не работает, и выдается сообщение об ошибке «theMovie» (первое использование в этой функции). так как theMovie объявляется только в том методе, который его воспроизводит. Кто-нибудь получил какие-либо идеи о том, как остановить это без необходимости показывать встроенные элементы управления проигрывателем фильма? Любая помощь приветствуется.

1 Ответ

1 голос
/ 25 октября 2009

Если вы создаете это видео в каком-либо методе с этим кодом и вызываете stop в другом методе, появляется ошибка, поскольку theMovie существует только в предыдущем методе. Вам необходимо настроить ivar или @property.

Проверьте этот вопрос .

EDIT:

Пример кода (не тестировался):

@interface Foo : UIViewController {
    MPMoviePlayerController *_theMovie;
}

@property (nonatomic, retain) MPMoviePlayerController *theMovie;
- (void) creationMethod;
- (void) playMethod;
- (void) stopMethod;
@end



@implementation Foo

@synthesize theMovie = _theMovie;

- (void) creationMethod {
    NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"];
    NSURL *movieURL = [NSURL fileURLWithPath:moviePath]; // retain not necessary
    self.theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
    self.theMovie.movieControlMode = MPMovieControlModeHidden;
}

- (void) playMethod {
    [self.theMovie play];
}

- (void) stopMethod {
    [self.theMovie stop];
}

- (void) dealloc {
    [_theMovie release];
}

@end

Вы бы назвали creationMethod где-нибудь, чтобы создать свой проигрыватель фильмов. Это всего лишь пример того, как игрок может быть помещен в свойство, чтобы вы могли использовать его во многих методах, но это не обязательно лучший метод. Вы можете / должны взглянуть на документацию iPhone по объявленным свойствам .

Должен заметить, что я не использовал класс MPMoviePlayerController, поэтому точный код может отличаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...