Domanda

Sto lavorando a un'applicazione WPF che visualizza video clip come parte del flusso di lavoro. Lo sto facendo usando MediaElement per riprodurre file AVI ospitati localmente (non in streaming). Funziona alla grande.

Tuttavia, mi è stato appena assegnato un nuovo requisito per consentire la visualizzazione dei sottotitoli durante la riproduzione della clip. Non ho idea del modo migliore per farlo. Sono vagamente consapevole del fatto che WMP ha la capacità di visualizzare file di sottotitoli separati durante la riproduzione di una clip, ma non so se WPF lo supporta?

Posso farlo nativamente in WPF? In caso contrario, quali sono le mie opzioni?

Il mio approccio di fallback sarebbe quello di richiedere al client di inserire i sottotitoli direttamente nel file video, ma preferirei trovare un modo migliore per gestirlo.

È stato utile?

Soluzione

Bene, se il tuo requisito per i sottotitoli è semplicemente la sovrapposizione di testo a MediaElement, allora sì, WPF può sicuramente supportarlo. Devi solo inserire MediaElement in una griglia insieme a TextBlock.

Il vero trucco sta cambiando la proprietà TextBlock Text in base all'ora in MediaElement. Ma probabilmente ci sono molti modi per farlo; il primo che viene in mente sta usando un trigger associato a MediaElement.Position proprietà.

Altri suggerimenti

In WPF devi analizzare il file dei sottotitoli e sincronizzarlo, non hai l'evento come MarkerReached in Silverlight. Ma puoi creare un smi (file SAMI) con lo stesso nome del tuo video e metterlo nella stessa cartella. Quindi iscriviti all'evento ScriptCommand e mostra il contenuto nel blocco di testo overlay.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top