Byłem wygłupiać z kodu na wieki na tym, Byłbym bardzo wdzięczny, gdyby ktoś mógł dostarczyć próbkę kodu, który pobrał ten plik z serwera http://www.archive.org/download/june_high/june_high_512kb.mp4, (Tak przy okazji to nie jest tak naprawdę ten plik, to tylko doskonały przykład dla każdego, kto próbuje mi pomóc), a następnie odtwarzać go z katalogu dokumentów. Wiem, że wydaje mi się leniwy, że o to pytam, ale próbowałem tak wielu różnych odmian NSURLConnection, że doprowadza mnie to do szału. Ponadto, jeśli udało się pobrać plik wideo pobrany byłbym słusznie zakładając, że ten kod będzie wtedy z powodzeniem grać:iPhone SDK: Jak pobierać pliki wideo do katalogu dokumentów, a następnie je odtwarzać?
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"june_high_512kb.mp4"];
NSURL *movieURL = [NSURL fileURLWithPath:path];
self.theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[_theMovie play];
Jeżeli powyższy kod będzie działać w odtwarzania pliku wideo z katalogu dokumentów, wtedy myślę, że jedyną rzeczą, którą powinienem wiedzieć, jest to, jak pobrać plik wideo z serwera. To, co wydaje się moim głównym problemem. Każda pomoc jest bardzo doceniana.
Dzięki, dobra odpowiedź, bardzo mi pomogło. Wprowadziłem jednak niewielką zmianę do twojego kodu, zamiast appendData używam writeData, ponieważ aplikacja wyrzuca z appendData podczas pobierania dużych plików. Ale wciąż doskonały przykład kodu. – Sam
Tak, mój (prosty) przykład zużyje więcej pamięci niż przy użyciu NSFileHandle/writeData: will, co zrobi różnicę dla dużych plików. Cieszę się, że to pomogło. –
Możesz także użyć bezpośrednio pliku zamiast NSData. Ps: Rozważ ogromne pliki. – fyasar