2009-06-01 4 views
17

Dopo aver avviato un video utilizzando MPMoviePlayerController's initWithContentURL:, è possibile memorizzare nella cache il video scaricato in modo che la prossima volta che il video venga riprodotto possa essere caricato tramite un file locale: // URI? Capisco che è possibile fare il mio download e quindi avviare il riproduttore di film, tuttavia vorrei approfittare dell'abilità del giocatore di iniziare prima del completamento del precarico.Memorizzazione nella cache dei video su disco dopo il precarico con MPMoviePlayerController

+1

Hai mai trovato una buona soluzione a questo problema? –

+1

Esiste un lettore video alternativo che supporti la memorizzazione nella cache? – mariosangiorgio

risposta

3

un trucco, è quello di avviare il download su disco - (usando atomico: YES), attendere 10 secondi e puntare il lettore di film sul percorso del disco locale. "scaricherà" mentre riproduce il file incompleto.

la prossima volta, basta controllare se il file esiste prima.

Ho funzionato abbastanza bene sulle connessioni WIFI, ma su 3G c'erano tutti i tipi di crash.

peggio, c'erano problemi con i file locali incompleti. fammi sapere se ne vale la pena.

+0

Mmm ... Ho provato questo, ma ho trovato troppo incline agli errori. Hai mai provato a sovrascrivere '[NSURLCache sharedURLCache]' con un'implementazione personalizzata della cache del solo disco, come da mia ultima risposta? –

2

Non l'ho provato, ma potrebbe essere possibile ignorare [NSURLCache sharedURLCache] con un'implementazione personalizzata della cache solo su disco. Se MPMoviePlayerController utilizza NSURLRequest, potrebbe funzionare.

+0

E qualcuno ha mai provato questo? –

+5

L'ho provato. MPMoviePlayerController non usa affatto NSURLCache. – Slavik