Как да конфигурирам сървъра си да осигурява възпроизвеждане на видеофайл с MPMoviePlayerViewController?

Искам да използвам MPMoviePlayerViewController за възпроизвеждане на видео файла на моя сървър. Но не работи.

Моят iOS код е както следва:

NSURL *mediaURL = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"http://127.0.0.1:3000/media/%@", @"sample_iTunes.mov"]];
self.player = [[MPMoviePlayerViewController alloc] initWithContentURL: mediaURL];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:self.player.moviePlayer];
self.player.moviePlayer.shouldAutoplay = YES;
self.player.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
[self presentMoviePlayerViewControllerAnimated:self.player];
[self.player.moviePlayer prepareToPlay];
[self.player.moviePlayer play];

-(void)movieFinishedCallback:(NSNotification*)aNotification
{
    NSLog(@"%@",[aNotification valueForKey:@"userInfo"]);
    MPMoviePlayerViewController* theMovie = [aNotification object];
}

И получих съобщението за грешка от NSNotification е:

MPMoviePlayerPlaybackDidFinishReasonUserInfoKey = 1;
error = "Error Domain=MediaPlayerErrorDomain Code=-11850 \"Operation Stopped\" UserInfo=0x1d51b640 {NSLocalizedDescription=Operation Stopped}";

След това промених URL адреса на

http://km.support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT1211/sample_iTunes.mov

Но работи добре. Тъй като двата файла са абсолютно един и същ файл. Мисля, че нещо не е наред с моя отдалечен сървър. И ето заглавките на отговора от моя сървър:

HTTP/1.1 200 OK
Content-Length: 3284257
Date: Mon, 14 Jan 2013 06:06:12 GMT
Last-Modified: Sun, 13 Jan 2013 10:44:02 +0000
Accept-Ranges: bytes
Content-Type: video/quicktime
Connection: close
Server: Jetty(7.6.1.v20120215)

В допълнение, видеоклипът може да се възпроизвежда на моя macbook с Chrome/Safari, но не може да се възпроизвежда и на iPhone с браузъри.


person plucury    schedule 14.01.2013    source източник
comment
Имам същия проблем. Успях да го реша. Моля помогнете.   -  person iOS Monster    schedule 02.06.2014


Отговори (2)


След коригиране на URL адреса на съдържанието, ако грешката Error Domain=MediaPlayerErrorDomain Code=-11850 \"Operation Stopped\" все още се появява, това може да се дължи на това, че вашият HTTP сървър не поддържа заявки за диапазон от байтове. Вижте MPMoviePlayerPlaybackDidFinishNotification се извиква незабавно за повече информация.

person Jimmy Schementi    schedule 03.11.2014

Вие насочвате вашия MPMoviePlayerController към 127.0.0.1, което е IP на текущото устройство. Така че приложението ви за iOS търси уеб сървър, хостващ този файл на вашия iPhone. Кодът ви изглежда добре иначе, просто трябва да хоствате .mov някъде валидно.

person mszaro    schedule 18.09.2013