Incorporamento di Windows Media Player per tutti i browser

Stiamo utilizzando video WMV su un sito interno e li stiamo incorporando in siti Web. Funziona abbastanza bene su Internet Explorer, ma non su Firefox. Ho trovato dei modi per farlo funzionare in Firefox, ma poi smette di funzionare in Internet Explorer.

Non vogliamo ancora utilizzare Silverlight, soprattutto perché non possiamo essere sicuri che tutti i client eseguiranno Windows XP con Windows Media Player installato.

Esiste una sorta di Universal Code che incorpora WMP sia in Internet Explorer che in Firefox, oppure è necessario implementare il rilevamento di user-agent e fornire HTML diversi per browser diversi?

Quanto segue funziona per me in Firefox e Internet Explorer:

          

Posso suggerire il jQuery Media Plugin ? Fornisce il codice di incorporamento per tutti i tipi di video, non solo WMV e rileva il browser, mantenendo tutte le dichiarazioni / interruzioni casuali fuori dai modelli.

Utilizza il seguente. Funziona con Firefox e Internet Explorer.

              

E in JavaScript,

  function playVideo() { try{ if(-1 != navigator.userAgent.indexOf("MSIE")) { var obj = document.getElementById("MediaPlayer1"); obj.Play(); } else { var player = document.getElementById("MediaPlayer2"); player.controls.play(); } } catch(error) { alert(error) } } 

Elizabeth Castro ha un interessante articolo su questo problema: Bye Bye Incorpora . Vale la pena leggere come ha affrontato questo problema, oltre a gestire i contenuti QuickTime.

Il modo migliore per distribuire i video sul Web è utilizzare Flash: è molto più facile incorporare in modo pulito in una pagina Web e riprodurre più o meno qualsiasi combinazione di browser e piattaforma. L’unico motivo per utilizzare Windows Media Player è se stai trasmettendo contenuti e hai bisogno di una gestione dei diritti digitali straordinariamente forte, e anche allora i provider stanno iniziando a utilizzare Flash anche per questi. Guarda l’iPlayer della BBC per un superbo esempio.

Ti suggerirei di passare a Flash anche per uso interno. Non sai mai chi avrà bisogno di accedervi in ​​futuro, e questo ti darà la migliore compatibilità futura ansible.

EDIT – 20 marzo 2013. Interessante come queste vecchie domande riaffiorano di volta in volta! Quanto è diverso il mondo oggi e come tutto questo sembra datato. Non suggerirei un percorso Flash solo oggi con qualsiasi mezzo – la pratica migliore in questi giorni sarebbe probabilmente quella di utilizzare HTML 5 per incorporare video con codifica H264, con un fallback Flash come descritto qui: http://diveintohtml5.info/video.html

Potresti usare i commenti condizionali per far sì che IE e Firefox facciano cose diverse

  

Firefox only code

I browser stessi ignoreranno il codice che non è destinato a loro da leggere.

La codifica del video flash è in realtà molto semplice con ffmpeg. Puoi usare un solo comando per convertire da qualsiasi formato video, ffmpeg è abbastanza intelligente da capire il resto, e userà ogni processore sulla tua macchina. Invocarlo è facile:

 ffmpeg -i input.avi output.flv 

ffmpeg indovina al bitrate desiderato, ma se vuoi specificarne uno, puoi usare l’opzione -b, per esempio -b 500000 è 500kbps. Ci sono un sacco di opzioni, ovviamente, ma in genere ottengo buoni risultati senza molti ritocchi. Questo è un buon punto di partenza se stai cercando altre opzioni: opzioni video .

Non hai bisogno di un server web speciale per mostrare video in flash. Ho fatto bene semplicemente spingendo i file .flv su un server web standard e collegandoli con un buon player swf, come il flowplayer .

I WMV vanno bene se si può essere sicuri che tutti i tuoi utenti utilizzeranno sempre [solo una versione recente e aggiornata di] Windows, ma anche in questo caso, Flash è spesso più adatto per il web. Il giocatore è anche estremamente personalizzabile e può essere controllato con javascript.

Ho trovato un buon articolo sull’utilizzo del WMP con Firefox su MSDN.

Basato sull’articolo di MSDN e dopo aver fatto alcune prove ed errori, ho trovato che usare JavaScript è meglio che usare i commenti condizionali o i tag “EMBED / OBJECT” nidificati.

Ho creato una funzione JS che genera oggetti WMP in base a determinati argomenti:

  

Poi ho usato quella funzione scrivendo alcuni markup e JS in linea come questi:

 

È ansible utilizzare jQuery.ready anziché l’ evento di caricamento della finestra per rendere i codici più compatibili con le versioni precedenti e il browser incrociato.

Ho testato i codici su IE 9-10, Chrome 27, Firefox 21, Opera 12 e Safari 5, su Windows 7/8.

Ho trovato qualcosa che funziona effettivamente sia in FireFox che in IE, sul sito di Elizabeth Castro (grazie al link su questo sito) – Ho provato tutte le altre versioni qui, ma non sono riuscito a farle funzionare in entrambi i browser

              

Controlla il suo sito: http://www.alistapart.com/articles/byebyeembed/ e la versione con il classid nel tag dell’object iniziale