html5オーディオタグのスタイルを設定することは可能ですか?


120

その方法に関するリソースは見つかりませんでした。プレーヤーの色を変えるのと同じくらい簡単なものがあればいいでしょう:)


3
古いWurlitzersのリズムボタンを
思い起こさせ

1
-異なるブラウザはaudio要素のスタイリングに異なる反応をstackoverflow.com/a/27765938/325251
mvark

1
はい、つまり、最悪に見えます。どうすれば見栄えが悪くなりますか?
live-love

1
ビデオスタイリングクロスブラウザの回答advprog.blogspot.co.uk/2013/07/...
mouseYの

@ 40-愛:それは深刻な質問ですか?それはマイクロソフトです!
Ringo

回答:


47

はい!「controls」属性のHTML5オーディオタグは、ブラウザのデフォルトプレーヤーを使用します。ブラウザーコントロールを使用せずに、独自のコントロールをロールバックしてJavaScript経由でオーディオAPIと通信することにより、好みに合わせてカスタマイズできます。

幸いなことに、他の人々はすでにこれを行っています。現在、私のお気に入りのプレーヤーはjPlayerです。非常にスタイルがよく、うまく機能します。見てみな。


49
それで答えは「いいえ、それは不可能です、あなたは外部プレーヤーを使わなければなりません」ですか?
フェルナンド

2
@フェルナンド:それは確かに可能です。これは、「可能ですか」という質問に答えます。
Dan Schnau 2014年

3
@dsschnauありがとうございます。質問はhtml5 ビデオタグのスタイリングに関するものであり、すべての回答は「はい」とほぼ同じなので、コメントを投稿しました。他のタグを使用することも可能です。
フェルナンド

10
それで、それは本当に「ノー」ですか?独自のUIをロールすることは、既存のマークアップをスタイル設定することと同じではありません。
bob

2
この答えは、実際には単なるリソースへのリンクです。jPlayer なくなるとどうなりますか?
カイル

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

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


18
貧弱なプレゼンテーションだが便利なCSSセレクター!
2016年

6
これらの使用例を見せていただけますか?サンプルコードだけ?
Xsmael

9
これはWebkitベースのブラウザー(Firefox、IEなどではない)でのみサポートされています
gilad mayani

2
非常に素晴らしいハッキング、それは正解であり、多くの感謝です!私は苦労せずにオーディオタグのスタイルを変更し、追加のJSコード、ViVa Fabio
java acm


64

はい:(controlsから属性を削除することによりaudio)組み込みのブラウザーUIを非表示にして、代わりに独自のインターフェースを構築し、JavaScript(ソース)を使用して再生を制御できます。

<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>

次に、CSSを使用して、必要に応じて要素をスタイル設定できます。

MDN HTMLAudioElement APIリファレンス


確かに、これ(.play)はブロックされているため、IOSでは機能しません(stackoverflow.com/questions/31776548/…を参照)
user1432181

30

タグの外観はブラウザに依存しますが、非表示にしたり、独自のインターフェースを構築したり、JavaScriptを使用して再生を制御したりできます。


14

いくつかの色の調整

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

1
これは、プレーヤーの基本的な色を変更するためのすばやく汚れた方法です。非常に便利です
wakandan

ログイン資格情報を整理してサインインし、これに賛成票を投じ、「ありがとう」と言いました。
Marc Amos


8

ケンもそれは正しかった。

cssタグ:

audio {

}

結果が得られます。プレーヤーの高さが25pxを超えたり下回ったりしたくないようですが、幅はある程度短くしたり長くしたりできます。

これで十分です。次の例を参照してください(警告、音声は自動的に再生されます):www.thenewyorkerdeliinc.com


私にとって、大きな問題はInternet Explorerです。幅が150pxに設定されているにもかかわらず、他のブラウザプレーヤーよりもひどく色が異なり、サイズがはるかに大きい
Ringo

IE9 +プレーヤーを小さなスペースに入れる必要がある場合は、高さ25ピクセル、幅100ピクセルでうまくいきました。25pxの高さが重要だったと思いますが、それ以上の数値は何らかの理由で機能しませんでした。
Ringo

リンクは残念ながらダウンしています
Alex Sorokoletov

6

プレーヤーの色だけを変更するには、cssファイルのオーディオタグを指定するだけです。たとえば、私のサイトの1つで、プレーヤーが非表示(白地に白)になったため、次のように追加しました。

audio {
    background-color: #95B9C7;
}

これにより、プレーヤーが水色に変わりました。


12
これは私のプレーヤーの色を変更しません、それはその背後に背景色を置くだけです。なぜだと思いますか?
トム

1
@Tomは、この解決策がプレーヤーのデフォルトの灰色の背景を変更するためのものではないためです:-)私と同じ結果です。
Florian Doyen

0

はい、可能です。@FábioZangirolamiの回答から

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

Firefox 77では機能しません
Henry

-4

CSSでブラウザの標準的な音楽プレーヤーのスタイルを設定する場合:

audio {
    enter code here;
}

1
完全ではない説明は非常に単純で、この方法を使用してすべての要素のオーディオをスタイリングできます
Davod Aslanifakor

この答えをざっとチェックしても、それが間違っていることが明らかになったでしょう。
Isaac Lubow
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.