Html5 ses etiketini biçimlendirmek mümkün mü?


120

Bunun nasıl yapılacağına dair herhangi bir kaynak bulamadım. Oyuncunun rengini değiştirmek kadar basit bir şeye sahip olmak güzel olurdu :)


3
Bana eski Wurlitzer'ların ritim düğmelerini hatırlatıyor - "samba", "caz", "vals", ...
David Gelhar

1
Farklı tarayıcılar ses öğesinin stiline farklı tepki veriyor - stackoverflow.com/a/27765938/325251
mvark

1
evet, yani en kötüsü görünüyor. nasıl bu kadar kötü görünmesini sağlayabilirler?
live-love

1
Video stil çapraz tarayıcı cevap advprog.blogspot.co.uk/2013/07/...
Mousey

@ 40-Love: Bu ciddi bir soru mu? Microsoft !!
Ringo

Yanıtlar:


47

Evet! "Kontroller" özelliğine sahip HTML5 ses etiketi, tarayıcının varsayılan oynatıcısını kullanır. Tarayıcı kontrollerini kullanmayarak, kendi kontrollerinizi yuvarlayarak ve javascript aracılığıyla ses API'siyle konuşarak beğeninize göre özelleştirebilirsiniz.

Neyse ki, başka insanlar bunu zaten yaptı. Şu anda en sevdiğim oyuncu jPlayer , çok şık ve harika çalışıyor. Bunu kontrol et.


49
Yani cevap "hayır, bu mümkün değil, harici bir oyuncu kullanmalısın"?
Fernando

2
@Fernando: Bu gerçekten mümkün. Bu, "mümkün mü?" Sorusunu yanıtlar.
Dan Schnau

3
Teşekkürler @dsschnau. Yorumumu yayınladım çünkü soru html5 video etiketini şekillendirmekle ilgili ve tüm yanıtlar aşağı yukarı evet gibi , diğer etiketleri kullanarak mümkün .
Fernando

10
Yani, bu gerçekten bir "hayır" mı? Kendi kullanıcı arayüzünüzü döndürmek, mevcut işaretlemeyi engellemekle aynı şey değildir.
bob

2
Bu cevap gerçekten sadece bir kaynağa bağlantıdır. Ya jPlayer giderse ?
Kyle

74
<audio>

audio::-webkit-media-controls-panel

audio::-webkit-media-controls-mute-button

audio::-webkit-media-controls-play-button

audio::-webkit-media-controls-timeline-container

audio::-webkit-media-controls-current-time-display

audio::-webkit-media-controls-time-remaining-display

audio::-webkit-media-controls-timeline

audio::-webkit-media-controls-volume-slider-container

audio::-webkit-media-controls-volume-slider

audio::-webkit-media-controls-seek-back-button

audio::-webkit-media-controls-seek-forward-button

audio::-webkit-media-controls-fullscreen-button

audio::-webkit-media-controls-rewind-button

audio::-webkit-media-controls-return-to-realtime-button

audio::-webkit-media-controls-toggle-closed-captions-button

REFERANS: https://chromium.googlesource.com/chromium/blink/+/72fef91ac1ef679207f51def8133b336a6f6588f/Source/core/css/mediaControls.css?autodive=0%2F%2F%2F


18
Zayıf sunum ama kullanışlı CSS seçici!
benoît

6
lütfen bunların nasıl kullanılacağına dair bir örnek gösterebilir misiniz? sadece örnek kod mu?
Xsmael

9
Bu yalnızca webkit tabanlı tarayıcılar tarafından desteklenir (örn. Firefox, IE vb.
Değil

2
Çok güzel hackleme, bu doğru cevap ve çok teşekkürler! Ses etiketinin stilini acı ve ek JS kodu olmadan değiştiriyorum, ViVa Fabio
java acm


64

Evet: yerleşik tarayıcı kullanıcı arayüzünü gizleyebilir ( controlsözniteliği buradan kaldırarak audio) ve bunun yerine kendi arayüzünüzü oluşturabilir ve Javascript ( kaynak ) kullanarak oynatmayı kontrol edebilirsiniz :

<audio id="player" src="vincent.mp3"></audio>
<div> 
  <button onclick="document.getElementById('player').play()">Play</button> 
  <button onclick="document.getElementById('player').pause()">Pause</button> 
  <button onclick="document.getElementById('player').volume += 0.1">Vol +</button> 
  <button onclick="document.getElementById('player').volume -= 0.1">Vol -</button> 
</div>

Daha sonra CSS kullanarak öğeleri istediğiniz gibi biçimlendirebilirsiniz.

MDN HTMLAudioElement API başvurusu


elbette bu (
.play

30

Etiketin görünümü tarayıcıya bağlıdır, ancak onu gizleyebilir, kendi arayüzünüzü oluşturabilir ve Javascript kullanarak oynatmayı kontrol edebilirsiniz.


14

bazı renk ayarları

audio {
    filter: sepia(20%) saturate(70%) grayscale(1) contrast(99%) invert(12%);
    width: 200px;
    height: 25px;
}

1
bu, oyuncunun temel renklerini değiştirmenin hızlı ve kirli bir yolu, çok kullanışlı
wakandan

Oturum açmak, bunu desteklemek ve "TEŞEKKÜRLER" demek için oturum açma kimlik bilgilerimin tozunu kaldırdım.
Marc Amos


8

Ken de haklıydı.

bir cssetiket:

audio {

}

size bazı sonuçlar verecektir. Görünüşe göre oynatıcının 25 pikselin üzerinde veya altında herhangi bir yükseklik istemiyor, ancak genişlik bir dereceye kadar kısaltılabilir veya uzatılabilir.

bu benim için yeterince iyiydi; bu örneğe bakın (uyarı, ses otomatik olarak çalar): www.thenewyorkerdeliinc.com


Benim için büyük bir sorun Internet Explorer. Genişliği 150px olarak ayarlanmış olmasına rağmen korkunç ve farklı renkte ve diğer tarayıcı oyuncularından çok daha büyük boyutta görünüyor
Ringo

IE9 + oynatıcısını küçük bir alana yerleştirmeniz gerekiyorsa, 25px yükseklik ve 100px genişlik benim için çalıştı. 25px yüksekliğinin anahtar olduğunu düşünüyorum, ancak daha büyük sayılar herhangi bir nedenle işe yaramadı.
Ringo

Bağlantı maalesef kapalı
Alex Sorokoletov

6

Oynatıcının sadece rengini değiştirmek için, css dosyanızdaki ses etiketini adreslemeniz yeterlidir, örneğin sitelerimden birinde oynatıcı görünmez hale geldi (beyaz üzerine beyaz) ben de ekledim:

audio {
    background-color: #95B9C7;
}

Bu, oynatıcıyı açık mavi olarak değiştirdi.


12
Bu, oynatıcımın rengini değiştirmiyor, sadece arkasına bir arka plan rengi koyuyor. Herhangi bir fikrin neden?
Tom

1
@Tom çünkü bu çözüm, oynatıcının varsayılan gri arka planını değiştirmek için değil :-) Benim için seninle aynı sonuç.
Florian Doyen

0

Evet, mümkün, @ Fábio Zangirolami cevabından

audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
                background-color: red;
}

Firefox 77'de çalışmıyor
Henry

-4

CSS'de tarayıcının standart müzik çalarına stil vermek istiyorsanız:

audio {
    enter code here;
}

1
tam değil açıklama çok basit ve bu yolu tüm element seslerinin stilini oluşturmak için kullanabilirim
Davod Aslanifakor

Bu cevabın üstünkörü bir şekilde kontrol edilmesi bile yanlış olduğunu ortaya çıkarırdı.
Isaac Lubow
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.