2013-06-05 17 views
11

5 Haziran 2013 tarihi itibariyle Chrome'un en yeni sürümü (Sürüm 27.0.1453.110 m), mp4 videolarını oynatmaz. Bir örnek için W3Schools Video Sandbox bana video kontrolleri ve başka hiçbir şey vermez. (Maalesef bir ekran görüntüsü gönderemezsiniz, sadece StackO'ya kaydedilemez.)MP4, Chrome sürümde çalışmıyor 27.0

Neden olduğunu biliyor musunuz? ve bir düzeltme mi?

Evet:

:

bir böyle bir cevaplanmamış soru var bu

chrome could play html5 mp4 video but html5test said chrome did not support mp4 video codec

ve

gibi soruyu yanıtladı yoktur

cevap

8

aynı sorunla çalıştırdıktan sonra düşüncelerimi bazı here're: nedeniyle Krom bazı makinelerde, h264 desteği giderilmesine

:

her mp4 dosya için
  • , (example.mp4 bir Theora kodlanmış mp4 dosyası oluşturmak - > example_c.mp4)
  • geçerli olan aşağıdaki js:

    if (window.chrome) 
        $("[type=video\\\/mp4]").each(function() 
        { 
         $(this).attr('src', $(this).attr('src').replace(".mp4", "_c.mp4")); 
        }); 
    

unfort unately, kötü bir Chrome hack, ama hey, en azından çalışır.

+0

h.264 sürümünde hangi makineler kaldırıldı? CanIUse.com, chrome'un h.264'ü desteklediğini bildirir: http://caniuse.com/#search=mp4 –

+0

Bir sebepten dolayı orada bir koma var;) Evet - CanIUse devam eden desteği bildiriyor, ancak bu sorunun neden olmadığı anlamına gelmiyor. Orada. Chrome'un desteği kaldırması nedeniyle olabileceğini düşündüm ancak webm için de bir hata olabilir. Bağlandığım hata raporuna bir bakın. – eithed

3

ben herhangi bir cevap alamadım olsa da, aynı problem vardı, ben başka bir şekilde çözmeye çalıştı, burada ne yaptım:

İlk olarak, html video gömmek: Tarayıcı krom ise

<video id="videoId" width="100%" autoplay loop> 
    <source src="main.webm" type="video/webm"> 
    <source src="main.mp4" type="video/mp4"> 

Your browser does not support the video tag. 
</video> 

Sonra algılamak:

var isChrome = !!window.chrome; 
var isIE = /*@[email protected]*/false; 

onun krom, webm sürümüyle videoyu değiştirin. (sorunu kendileri karşılaşmadığı olanlar için: mp4 ve WebM hem katıştırıyorsanız "WebM" gömmek zorunda , krom sadece bunlardan herhangi çalmıyor)

if(isChrome) { 
$("#videoId").replaceWith($('<video id="videoId" width="100%" autoplay loop><source src="video.webm" type="video/webm"></video>')); 
} 

Ve as IE: bir görüntü ile html5 videoyu yerini benim durumumda:

if(isIE) { 
$("#videoId").replaceWith($('<img id="videoId" src="img/video.jpg" />')); 
} 
+0

Ayrıca, firefox'u algılamak ve video kaynağını bir ogg formatına güncellemek için bir betikim var. Chrome'un webm'i oynatması için komut dosyasını güncellemeyi düşündüm, ancak videoyu bu tek makinede oynatamayacak kadar önemli değil. ** Kullanıcılarımın kaçının aynı sorunu var? ** –

0

Ayrıca bu sorun, Chrome sürümde: 28.0.1500.72 Windows7 64bit'de de var. WinXP'de aynı Chrome sürümünü etkilemese de. Bu sorunu okuduğumdan, bir çok değişkene bağlı olarak farklı ana bilgisayarlarda çok dağınıklık var. Ancak, bazı hızlı jQuery sayesinde, bu sorunu potansiyel Chrome kullanıcıları için çözebildim.

sayesinde Sony Düz bu yönde

var isChrome = !!window.chrome; 
var isIE = /*@[email protected]*/false; 

if(isChrome) { 
$("#videoId").replaceWith($('<video id="videoId" width="100%" autoplay loop><source src="video.webm" type="video/webm"></video>')); 
} 
3

beni işaret için, Chrome ilk video beyan yükler gibi görünüyor. Dolayısıyla, webMV oynatırken Chrome için önce webMV videosunu, daha sonra mp4'ü ve daha sonra bildirirsiniz.

0

Teşekkürler eithedog. beni krom aynı sürümünü kullanarak "Video" etiketini

if (window.chrome) { 
       $("[type=video\\\/mp4]").each(function() { 
        $(this).attr('src', $(this).attr('src').replace(".mp4", "_c.mp4")); 
       }); 
      }