2011-01-17 6 views
2

tut initWithContentURL: in MPMoviePlayerController zuerst die Videodatei herunterladen und dann anfangen zu spielen oder wird es streamen Datei wie in youtube?wie man ein Video im iphone streamt

Ich möchte ein Video im Server durch Streaming wiedergeben, um Zeit zu verschwenden.

So führen Sie Streaming im iPhone durch? Kann mir bitte jemand vorschlagen, wenn Sie es wissen.

Vielen Dank im Voraus.

Antwort

1
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

if (!documentsDirectory) { 
    NSLog(@"Documents directory not found!"); 
} 
NSString *appFile; 
NSArray *myWords = [[NSString stringWithFormat:@"%@",[[videolistArray objectAtIndex:[number intValue]] valueForKey:@"video"]] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"/"]]; 
appFile = [documentsDirectory stringByAppendingPathComponent:[myWords lastObject]]; 
NSFileManager *fileMgr=[NSFileManager defaultManager]; 
if (![fileMgr fileExistsAtPath:appFile]) { 
    NSData *imageData; 
    NSURL *imageURL = [[[NSURL alloc] initWithString:[[videolistArray objectAtIndex:[number intValue]] valueForKey:@"video"] ] autorelease]; 
    if (imageURL) { 
     imageData = [NSData dataWithContentsOfURL:imageURL]; 
    } 

    [imageData writeToFile:appFile atomically:YES]; 
} 
[pool release]; 


if (spinner) { 
    [spinner stopAnimating]; 
    [spinner removeFromSuperview]; 
    [spinner release]; 
    spinner = nil; 
} 

--------------------------- Über Methode ist für in Dateisystem des iPhone speichern Video
--- ----------------- Unter Methode, um diesen Film kontinuierlich

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; 

if (!documentsDirectory) { 

    NSLog(@"Documents directory not found!"); 

} 

NSArray *myWords = [videoString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"/"]]; 


NSString *appFile = [documentsDirectory stringByAppendingPathComponent:[myWords lastObject]]; 

NSLog(@"%@",[myWords lastObject]); 

NSURL *url = [NSURL fileURLWithPath:appFile]; 

self.videoMPPlayer =[[MPMoviePlayerController alloc] initWithContentURL:url]; 

    self.videoMPPlayer.view.frame = CGRectMake(0, 0, 320, 480); 

    self.videoMPPlayer.scalingMode = MPMovieScalingModeAspectFill; 

    self.videoMPPlayer.controlStyle = MPMovieControlStyleNone; 


    // Register for the playback finished notification 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieLoadStateChanges:) name:MPMoviePlayerLoadStateDidChangeNotification object:videoMPPlayer]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:videoMPPlayer]; 


// Movie playback is asynchronous, so this method returns immediately. 
[self.videoMPPlayer play]; 
+0

Hallo., Danke, für die Antwort, müssen wir die komplette Datei vor dem Start herunterladen Spielen? Ist es nicht möglich, als Streaming herunterzuladen? Gibt es eine andere Option als MPMoviePlayer für das Streaming von Videodateien? – SriPriya

+0

verwenden Sie dazu einfach den folgenden Code von NSURL * url = [NSURL fileURLWithPath: @ "Link of vidoe"]; – GhostRider

+0

Konvertieren von URL-String zu NSURl und wenn ich in InitWithContentURL verwendet:, beginnt der Movie-Player nach dem Abrufen von Daten aus dem Webservice, bis der Player nichts mehr spielt, ich muss Videodatei-Daten vom Webservice abrufen und die abgerufenen Daten gleichzeitig wiedergeben, Wie Youtube ruft Daten ab und spielt gleichzeitig. – SriPriya

Verwandte Themen