2010-09-20 2 views
0

У меня есть странная проблема в моем приложении. Я пытаюсь воспроизвести видео на iphone после нажатия кнопки в пользовательском интерфейсе. Моя проблема в том, что она воспроизводится только как аудио. и медиа-плеер не появляется, я просто слышу звук. Ниже приведен код методов, которые я использую для воспроизведения видео.играет видео на iphone

-(void) playMovieAtURL: (NSURL*) theURL { 

MPMoviePlayerController* theMovie = 

[[MPMoviePlayerController alloc] initWithContentURL: theURL]; 
theMovie.scalingMode = MPMovieScalingModeAspectFill; 

theMovie.movieControlMode = MPMovieControlModeDefault; 

// Register for the playback finished notification 

[[NSNotificationCenter defaultCenter] 

addObserver: self 

selector: @selector(myMovieFinishedCallback:) 

name: MPMoviePlayerPlaybackDidFinishNotification 

object: theMovie]; 

[theMovie play]; 
} 



-(void) myMovieFinishedCallback: (NSNotification*) aNotification 

{ 

MPMoviePlayerController* theMovie = [aNotification object]; 

[[NSNotificationCenter defaultCenter] 

removeObserver: self 

name: MPMoviePlayerPlaybackDidFinishNotification 

object: theMovie]; 

[theMovie release]; 

} 

и это, как я называю предыдущие функции для воспроизведения видео, расположенное в моих ресурсах

-(IBAction)play:(id)sender 
{ 
NSString * url; 
NSURL *theUrl; 

NSBundle *bundle = [NSBundle mainBundle]; 
if (bundle) 
{ 
    NSString *moviePath = [bundle pathForResource:@"240_320_p" ofType:@"mp4"]; 
    if (moviePath) 
    { 
     theUrl = [NSURL fileURLWithPath:moviePath]; 
    } 
} 

[self playMovieAtURL:theUrl]; 

} 

ответ

0

Вы должны добавить theMovie.view в иерархию вида при запуске воспроизведения и удалить его снова после воспроизведения готово.

+0

, как это сделать? я попробовал self.view = theMovie.view; и это сработало, но я думаю, что это не то, что вы имели в виду. Я попробовал: [self.view addSubView: theMovie.view] , но также в результате получилось только – belhaouary

+0

, вы правильно установили свойство frame theMovie.view, прежде чем добавлять это как подобие? –

0

Таже вопрос ранее сегодня: MPMoviePlayerController worked fine up to iOS 4.0 now just plays sound, no video

Вам нужно добавить [само presentMoviePlayerViewControllerAnimated: theMovie]; ..

+0

это приводит к следующему предостережению несовместимых типов Objective-C «структуры MPMoviePlayerController *», как ожидается 'структура MPMoviePlayerViewController * при прохождении аргумента 1 из «presentMoviePlayerViewControllerAnimated:» из особого типа Objective-C , а также я слышу звук, но нет видео появляется на экране – belhaouary

+0

Ой, жаль, что не видел этого. Измените свой MPMoviePlayerController на MPMoviePLayerViewController – LarsJK

Смежные вопросы