HTML5는 오디오 및 비디오 요소를 사용하여 오디오 및 비디오 콘텐츠를 삽입합니다. 이를 통해 HTML5를 지원하는 브라우저는 플러그인을 설치하지 않고도 비디오 및 오디오를 재생할 수 있습니다.
또한 이 두 태그와 관련된 JavaScript API가 제공되므로 자체 오디오 및 비디오 컨트롤을 만들 수 있습니다.
<!-- 嵌入视频 --> <video id="player" src="xxx.ogg" poster="mymovie.jpg" width="300" height="200"> Video player not available. </video> <!-- 嵌入音频 --> <audio src="xxx.mp3" id="myAudio">Audio player not available.</audio>
이 두 태그는 반드시 로드할 미디어 파일의 주소인 src 속성을 포함합니다. 너비 및 높이 속성은 비디오 플레이어의 크기를 지정합니다. 포스터 속성은 동영상이 로드되는 동안 표시되는 이미지입니다. 여는 태그와 닫는 태그 사이의 콘텐츠는 대체 콘텐츠입니다. 즉, 브라우저가 이 두 태그를 지원하지 않는 경우 표시됩니다. 모든 브라우저가 모든 미디어 형식을 지원하는 것은 아니므로 다양한 미디어 소스를 지정할 수 있습니다. 현재 `` 태그가 사용됩니다:
<!-- 嵌入视频 --> <video id="player"> <source src="xx.webm" type="video/webm; codecs='vp8, vorbis'"> <source src="xx.ogv" type="video/ogg; codecs='theora, vorbis'"> Video player not available. </video> <!-- 嵌入音频 --> <audio id="myAudio"> <source src="xx.ogg" type="audio/ogg"> <source src="xx.mp3" type="audio/mpeg"> Audio player not available.</audio>
이 두 태그를 지원하는 브라우저는 IE9+, Firefox 3.5+, Safari 4+, Opera 10.5+, Chrome, iOS 버전의 Safari 및 안드로이드용 웹킷.
1 속성
오디오 및 비디오 요소에는 다음과 같은 공통 속성이 있습니다.
Attribute# 🎜🎜# | 데이터 유형설명 | |
---|---|---|
부울 값 | 자동재생 플래그를 가져오거나 설정합니다. | |
시간 범위 | 버퍼링된 시간 범위 개체를 다운로드했습니다. | |
바이트 범위 | 다운로드된 버퍼링된 바이트 범위 개체입니다. | |
INTEGER | 다운로드 속도, 초당 수신되는 평균 비트 수입니다. | |
부울 값 | 버퍼링을 조절할지 여부입니다. | |
부울 값 | 브라우저에 내장된 컨트롤의 표시 및 숨기기를 제어하려면 컨트롤 속성을 가져오거나 설정하세요. | |
INTEGER | 미디어 파일이 순환된 횟수입니다. | |
문자열 | 현재 재생 중인 미디어 파일의 URL입니다. | |
부동소수점 | 재생된 시간(초)입니다. | |
부동소수점 | 재생 속도를 가져오거나 설정합니다. 기본값은 1초입니다. | |
부동소수점 | 총 재생 시간, 단위는 초입니다. | |
부울 값 | 재생이 종료되었는지 여부. | |
부울 값 | [재생 완료 후 처음부터 다시 시작할지 여부]를 가져오거나 설정합니다. | |
부울 값 | [소리 미러링 여부]를 가져오거나 설정합니다. | |
INTEGER | 네트워크 연결 상태; 0: 비어 있음, 1: 로드 중, 2: 원본 데이터 로드 중, 4: 로드 완료됨. | |
부울 값 | 일시중지 여부. | |
부동소수점 | [현재 재생 속도]를 가져오거나 설정하세요. | |
시간 범위 | 현재 플레이 시간입니다. | |
INTEGER | 준비됐나요? 1: 데이터를 사용할 수 없습니다. 1: 현재 프레임을 표시할 수 있습니다. 2: 재생을 시작할 수 있습니다. 3: 재생을 처음부터 끝까지 수행할 수 있습니다. | |
시간 범위 | 검색 가능한 시간 범위입니다. | |
부울 값 | 플레이어가 미디어 파일의 새 위치로 이동하는지 여부. | |
문자열 | 미디어 파일 소스, 이 소스는 언제든지 다시 작성할 수 있습니다. | |
부동소수점 | [재생 시작 위치]를 가져오거나 설정합니다. 단위는 초입니다. | |
INTEGER | 현재 리소스에 필요한 총 바이트 수입니다. | |
INTEGER | 영상 높이는 영상에만 적용됩니다. | |
INTEGER | 영상의 너비는 영상에만 적용됩니다. | |
부동소수점 | [현재 볼륨]을 0.0에서 1.0으로 가져오거나 설정합니다. |
事件 | 说明 |
---|---|
abort | 下载中断。 |
canplay | 可以播放;readyState 为 2。 |
canplaythrough | 播放可以继续,即不会被中断;readyState 为 3。 |
canshowcurrentframe | 当前帧已下载;readyState 为 1。 |
dataunavailable | 没有数据导致不能播放;readyState 为 0。 |
durationchange | 改变了 duration 的值。 |
emptied | 网络连接关闭。 |
empty | 发生错误导致下载停止。 |
ended | 已播放到末尾,所以播放停止。 |
error | 下载期发生网络错误。 |
load | 已加载完成。可能会被废弃,建议使用 canplaythrough。 |
loadeddata | 媒体的第一帧已加载。 |
loadedmetadata | 媒体的元数据已加载。 |
loadstart | 下载已开始。 |
pause | 播放已被暂停。 |
play | 媒体已接受到开始播放的指令。 |
playing | 媒体已开始播放。 |
progress | 正在下载。 |
ratechange | 改变了播放速度。 |
seeked | 搜索结束。 |
stalled | 浏览器正尝试下载,但未接收到数据。 |
timeupdate | currentTime 被非法更新。 |
volumechange | 改变了 volume 或 muted 值。 |
waiting | 播放暂停,等待下载更多的数据。 |
之所以定义了这么多的事件,就是为了开发人员能够只使用少量的 HTML 和 JavaScript 就可以编写出自定义的音、视频播放器!
3 自定义媒体播放器
<p class="mediaplayer"> <p class="video"> <video id="player" src="http://people.mozilla.com/~prouget/demos/resources/videos/billyBrowsers.ogg" poster="mymovie.jpg" width="300" height="200"> Video player not available. </video> </p> <p class="controls"> <input type="button" value="Play" id="video-btn"> <span id="curtime">0</span><span id="duration">0</span> </p> </p>
现在我们加一些 JavaScript ,就可以自定义一个简单的视频播放器:
//取得元素引用 var player = document.getElementById("player"), btn = document.getElementById("video-btn"), curtime = document.getElementById("curtime"), duration = document.getElementById("duration");//实测,得不到整个视频的总体播放时间 //更新播放时间 duration.innerHTML = player.duration; //为按钮添加事件处理程序 EventUtil.addHandler(btn, "click", function (event) { if (player.paused) { player.play(); btn.value = "Pause"; } else { player.pause(); btn.value = "Play"; } }); //定时更新当前时间 setInterval(function () { curtime.innerHTML = player.currentTime; }, 250);
可以进一步扩展这个视频播放器,让它可以使用更多的属性,监听更多的事件。同样的代码也可以用于 audio 元素。
4 检测编解码器的支持情况
audio 和 video 元素都有一个 canPlayType() 方法,它接收一个格式/编解码器的字符串,返回 “probably”、”maybe”、”“,所以这样这样使用:
if (audio.canPlayType("audio/mpeg")){ ... }
因为真正决定文件是否能够播放的是编码格式,所以建议同时传入 MIME 类型和编解码器,这样检测会更准确:
if (audio.canPlayType("audio/ogg; codecs=\"vorbis\"")){ ... }
注意,编解码器必须使用引号!下面列出已得到支持的音/视频格式和编解码器:
音频 | 字符串 | 支持的浏览器 |
---|---|---|
AAC | audio/mp4; codecs=”mp4a.40.2” | IE9+、Safari4+、iOS 版的 Safari |
MP3 | audio/mpeg | IE9+、Chrome |
Vorbis | audio/ogg; codecs=”vorbis” | Firefox 3.5+、Chrome、Opera 10.5+ |
WAV | audio/wav; codecs=”1” | Firefox 3.5+、Chrome、Opera 10.5+ |
视频 | 字符串 | 支持的浏览器 |
---|---|---|
H.264 | video/mp4; codecs=”avcl.42E01E, mp4a.40.2” | IE9+、Safari4+、iOS 版的 Safari、Android 版 WebKit |
Theora | video/ogg; codecs=”theora” | Firefox 3.5+、Chrome、Opera 10.5+ |
WebM | video/webm; codecs=”vp8, vorbis” | Firefox 4+、Chrome、Opera 10.6+ |
5 Audio 类型
audio 元素有一个原始的 JavaScript 构造函数 Audio,可以利用它来控制什么时候播放音频:
var audio = new Audio("xxx.mp3"); EventUtils.addHandler(audio, "canplaythrough", function(event){ audio.play(); });
上面的代码实现了这样的功能:当下载完成后自动播放音频。
在 iOS 中,调用 play() 会弹出一个对话框,得到用户许可后才可以播放。
如果想要在一个音频播放完之后在播放另一个音频,可以在 onfinish 事件中调用 play() 方法。
相关推荐:
위 내용은 HTML5에 오디오와 비디오를 삽입하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

웹 표준과 기술은 현재까지 HTML4, CSS2 및 간단한 JavaScript에서 발전했으며 중대한 개발을 거쳤습니다. 1) HTML5는 캔버스 및 웹 스토리지와 같은 API를 도입하여 웹 응용 프로그램의 복잡성과 상호 작용을 향상시킵니다. 2) CSS3은 애니메이션 및 전환 기능을 추가하여 페이지를보다 효과적으로 만듭니다. 3) JavaScript는 화살표 기능 및 클래스와 같은 Node.js 및 ES6의 최신 구문을 통해 개발 효율 및 코드 가독성을 향상시킵니다. 이러한 변경으로 인해 웹 애플리케이션의 성능 최적화 및 모범 사례의 개발이 촉진되었습니다.

H5는 HTML5의 약어 일뿐 만 아니라 더 넓은 현대 웹 개발 기술 생태계를 나타냅니다. 1. H5는 HTML5, CSS3, JavaScript 및 관련 API 및 기술을 포함합니다. 2. 그것은 더 풍부하고 대화식이며 부드러운 사용자 경험을 제공하며 여러 장치에서 원활하게 실행할 수 있습니다. 3. H5 기술 스택을 사용하여 반응 형 웹 페이지와 복잡한 대화식 기능을 만들 수 있습니다.

H5 및 HTML5는 동일한 것을, 즉 html5를 나타냅니다. HTML5는 HTML의 다섯 번째 버전으로 시맨틱 태그, 멀티미디어 지원, 캔버스 및 그래픽, 오프라인 스토리지 및 로컬 스토리지와 같은 새로운 기능을 제공하여 웹 페이지의 표현성 및 상호 작용성을 향상시킵니다.

h5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelements 및 dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enovannangeserexperienceacrossdevices.3) SemanticLementsImproveContentsTructUreAndSeo.4) H5'Srespo

H5 개발에서 마스터 해야하는 도구 및 프레임 워크에는 vue.js, React 및 Webpack이 포함됩니다. 1.vue.js는 사용자 인터페이스를 구축하고 구성 요소 개발을 지원하는 데 적합합니다. 2. 복잡한 응용 프로그램에 적합한 가상 DOM을 통해 페이지 렌더링을 최적화합니다. 3. Webpack은 모듈 포장에 사용되며 리소스로드를 최적화합니다.

html5hassignificallytransformedwebdevelopmentbyintranticalticlementements, 향상 Multimediasupport 및 Improvingperformance.1) itmadewebsitessmoreaccessibleadseo 친환경적 인 요소, 및 .2) Html5intagnatee

H5는 시맨틱 요소 및 ARIA 속성을 통해 웹 페이지 접근성 및 SEO 효과를 향상시킵니다. 1. 컨텐츠 구조를 구성하고 SEO를 개선하기 위해 사용합니다. 2. Aria-Label과 같은 ARIA 속성은 접근성을 향상시키고 보조 기술 사용자는 웹 페이지를 원활하게 사용할 수 있습니다.

"H5"와 "HTML5"는 대부분의 경우 동일하지만 특정 시나리오에서는 다른 의미를 가질 수 있습니다. "HTML5"는 새로운 태그와 API를 포함하는 W3C 정의 표준입니다. "H5"는 일반적으로 HTML5의 약어이지만 모바일 개발에서는 HTML5를 기반으로 한 프레임 워크를 참조 할 수 있습니다. 이러한 차이를 이해하면 프로젝트 에서이 용어를 정확하게 사용하는 데 도움이됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.
