Ho creato un video player personalizzato, tutti i pulsanti funzionano. Ho bisogno di sapere qual è il codice che MPMoviePlayerController visualizza sottotitoli quando il video ha quell'opzione. Non ho trovato da nessuna parte un esempio o qualcuno che sapeva quale codice si nasconde dietro questo pulsante dei sottotitoli. Dove posso trovare questo?Come visualizzare i sottotitoli all'interno di MPMoviePlayerController
risposta
Se il file multimediale ha didascalie incorporate, MPMoviePlayerViewController mostrerà un pulsante per abilitare/disabilitare i sottotitoli. Per impostazione predefinita, i sottotitoli sono disabilitati e non possono essere attivati in modo programmatico.
Invece, è possibile utilizzare AVPlayer con la proprietà closedCaptionDisplayEnabled. Ma solo iOS 4+
Fa 'closedCaptionDisplayEnabled' attiva/disattiva il sottotitolo soft incorporato nel file video? Cosa succede se il file ha più tracce di sottotitoli, posso scegliere tra, ad esempio, inglese o francese a livello di programmazione? La documentazione dice quasi nulla, qualsiasi aiuto tu possa fornire è molto apprezzato. Grazie! –
Si noti che le didascalie sono diverse in quanto sono incorporate nel flusso video (e richiedono demuxing) mentre i sottotitoli sono un file separato o uno stream separato. – jbat100
Dovrai implementare il tuo parser di file di sottotitoli. Il formato di file .srt è piuttosto semplice, here è una discussione su come analizzarlo.
Il bit più impegnativo è quindi sincronizzare la visualizzazione dei sottotitoli (probabilmente solo uno UILabel
posizionato nella parte superiore della vista MPMoviePlayerController
) con l'ora del film corrente. Dovresti scrivere una classe che puoi chiedere per subtitleStringAtTimeInterval
: tipo di cosa (che mantiene i sottotitoli in memoria e rende più veloce il recupero dei sottotitoli). Quindi aggiorna i sottotitoli a intervalli regolari (con NSTimer
o un thread in background che dorme per un breve intervallo di tempo tra ciascun aggiornamento dei sottotitoli).
Avete qualche codice per questo? Voglio dire come integrare questo codice Python nel codice MPMoviePlayerConroller in iOS. – Mrunal
@Mason e pensi che fosse a cosa si riferiva il poster? – jbat100
@ jbat100 Dopo aver riletto la domanda originale, vedo che ho sbagliato e annullerò il voto negativo quando SO lo consente in poche ore. Mie scuse. –
Nessun codice necessario ... AFAIK il pulsante si visualizza automaticamente se i soft-subs sono codificati nel video.
vedere qui: http://www.bitfield.se/isubtitle/on_iphone_ipod.html
Questa demo è per il lettore integrato, non quella che si ottiene nel codice quando si utilizza MPMoviePlayerController –
Questo potrebbe essere cambiato, ma in iOS 6, se l'app sta visualizzando il video in schermo intero/ampio, il pulsante CC appare anche lì. Anche se sarebbe bello se il CC potesse essere abilitato dall'app stessa. –
Non c'è motivo di urlare! – dasdom