HTML5 youtube videosunu zorla


119

İlgili Youtube API Blog onların yeni denemelere devam etmektedir HTML5 Video Player.

Görünüşe göre html5'te bir video oynatmak için iframe yerleştirme kodunu kullanmanız gerekir:

<iframe class="youtube-player" type="text/html" width="640" height="385"
  src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0">
</iframe>

Ancak istemci HTML5 Denemesine katılmadıysa , istemcinin tarayıcısı HTML5 video özellikli olsa bile oynatıcı otomatik olarak flash oynatıcıya geri dönecektir.

Kullanıcılar HTML5 Denemesine henüz katılmamış olsa bile, tarayıcı destekliyorsa HTML5 video oynatmaya nasıl zorlanır?

Aksi takdirde, flash geri dönüşü nasıl devre dışı bırakılır?

DÜZENLE:

HTML oynatıcıyı Youtube Video bağlantıları aracılığıyla zorlamak mümkündür , ancak gömülü videolar için bu tür bir özelliğe ihtiyacım var.


Ya js ile HTML5 Yeteneğini tespit edip, youtube api kodunu buna göre uygularsanız ne olur? Veya şunu söylemeliyim ki, HTML5 Video desteklenmiyorsa, youtube api'sini Flash'a başvuracağı gibi uygulamayın.
David Hobs

Yanıtlar:


179

Çözümü buldum:

html5=1İframe'in src özniteliğine eklemeniz gerekir :

<iframe src="http://www.youtube.com/embed/dP15zlyra3c?html5=1"></iframe>

Video, varsa HTML5 olarak veya flash player'a yedek olarak görüntülenecektir.


1
hmm - şimdi çalışmıyor (aynı videolar), tuhaf. Sadece belirli youtube sunucularında çalışıp çalışmadığını merak ediyorum.
UpTheCreek

1
&html5=1Gömülü olmayan bir videonun sonuna eklerken çalışmıyor : /
Moshe Revah

1
Bir köprünün (iframe gömülü video değil) sonuna eklemek &html5=1(veya &html5=truebuna benzer bir şey) Flash olmadan IE'de çalışmıyor gibi görünüyor.
Ryan

1
Reklam içeren YouTube videoları otomatik olarak Flash oynatıcıyı kullanacak
2013

8
Bence tüm raporlar önyargılı. Kimse "youtube'un html5 beta sürümünde" olup olmadığını söylemedi ve bu muhtemelen anahtar faktör. Html5 beta sürümünden çıktığımda, öyle görünüyor ki? Html5 = 1 hiçbir şey yapmıyor. Her video flaşla birlikte gelir.
Paul Brewczynski

20

YouTube videolarının HTML5 biçiminde oynatılıp oynatılmaması , tarayıcı başına https://www.youtube.com/html5 adresindeki ayara bağlıdır . Chrome, HTML5 oynatmayı otomatik olarak tercih eder, ancak en son Firefox ve Internet Explorer bile makineye yüklüyse Flash'ı kullanmaya devam eder.

Html5 = 1 parametresi artık hiçbir şey yapmıyor (artık). ( Https://developers.google.com/youtube/player_parameters adresinde listelenmediğini bile unutmayın .)


Yeni kontrol ettim, youtube.com/html5 adresinde HTML5 oynatıcısını seçtim , ancak gömme oynatıcısına bir parametre olarak & html5 = 1 belirtilmezse, param HTML5 oynatıcısının yüklendiğini belirttiğimde flash yüklenir. İşletim Sistemi: Linux, Firefox 33 64bit.
Çar

html5=1Firefox 33.0.2'de yeni test ettim ve iyi çalışıyor (ve kullanıcıların YouTube'da HTML5 ayarını etkinleştirmesini gerektirmiyor). Bu olmadan YouTube, Flash sürümünü varsayılan olarak gönderir.
Simon East

Parametre hala çalışıyor, ancak bunu html5 sayfasında etkinleştirmek, youtube'u varsayılan olarak html5'e dönüştürür ki bu daha iyidir.
alanh

4

İframe yerleştirme kodunu kullanmayı denedim ve HTML5 oynatıcısı göründü, ancak bazı nedenlerden dolayı iframe sitemi tamamen bozuyordu.

Eski nesne gömme koduyla uğraştım ve mükemmel çalışıyor. Dolayısıyla, iframe ile ilgili sorun yaşıyorsanız, işte kullandığım kod:

<object width="640" height="360">
<param name="movie" value="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3"/>
<param name="allowFullScreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<embed width="640" height="360" src="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3" class="youtube-player" type="text/html" allowscriptaccess="always" allowfullscreen="true"/>
</object>

umarım bu birisi için yararlıdır


YouTube <object>, Ocak sonu itibariyle kullanımdan kaldırılmıştır . <iframe>Bunun yerine kullanın .
Samuel Elh

<object>hala çalışıyor, aslında iframe onu içeriyor.
RozzA

2

İframe yerleştirme api'sini kullanıyorsanız , aşağıdaki gibi bağımsız değişkenlerden html5:1biri olarak koyabilirsiniz playerVars:

player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: '<VIDEO ID>',
    playerVars: {
        html5: 1
    },
});

Tamamen işe yarıyor.


0

Satır içi etiket, geçerli html öğesine başka bir belge kaynağı eklemek için kullanılır.

Sizin durumunuzda bir youtube videosu ve tarayıcıya harici olarak bağlantıya html türünü (4 veya 5) belirtmemiz gerekiyor

bu yüzden bağlantının sonuna? html = 5 ekleyin .. :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.