SlideShare a Scribd company logo
1 of 30
Download to read offline
BÀI 4
LÀM VIỆC VỚI CÁC THÀNH PHẦN VIDEO, AUDIO,
CANVAS CỦA HTML5
NHẮC LẠI BÀI TRƯỚC
Tổng quan về Javascript và Jquery
Làm việc với Javascript
Làm việc với thư viện Jquery
Học Javascript, jQuery với w3schools
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 2
MỤC TIÊU BÀI HỌC
Chèn các thành phần video, audio vào trang
Điều khiển video với Javascript
Làm quen với thành phần canvas
Sử dụng thành phần cavas để thực hiện:
Vẽ hình và đường
Áp dụng màu và cọ fradient
Thực hiện tạo hình động
Chèn các thành phần video, audio vào trang
Điều khiển video với Javascript
Làm quen với thành phần canvas
Sử dụng thành phần cavas để thực hiện:
Vẽ hình và đường
Áp dụng màu và cọ fradient
Thực hiện tạo hình động
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 3
THÀNH PHẦN VIDEO, AUDIO TRONG
HTML5
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Tại sao phải thêm video, âm thanh vào trang web?
Tạo nên trang web hấp dẫn
Thu hút sự truy cập của người duyệt với website
Là một cách tiếp cận người dùng
Trước khi có HTML5, làm cách nào để chèn video,
âm thanh vào trang web?
Phải sử dụng plug-ins của các công ty thứ 3 (third
party)
Tại sao phải thêm video, âm thanh vào trang web?
Tạo nên trang web hấp dẫn
Thu hút sự truy cập của người duyệt với website
Là một cách tiếp cận người dùng
Trước khi có HTML5, làm cách nào để chèn video,
âm thanh vào trang web?
Phải sử dụng plug-ins của các công ty thứ 3 (third
party)
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 5
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
HTML5 chèn video, âm thanh vào trang web như
thế nào?
Cung cấp thành phần HTML video chạy trong trình
duyệt
Tích hợp thêm với Javascript
Câu lệnh:
Autoplay: thuộc tính quy định với trình duyệt đoạn
video sẽ được chơi ngay khi trang được load
HTML5 chèn video, âm thanh vào trang web như
thế nào?
Cung cấp thành phần HTML video chạy trong trình
duyệt
Tích hợp thêm với Javascript
Câu lệnh:
Autoplay: thuộc tính quy định với trình duyệt đoạn
video sẽ được chơi ngay khi trang được load
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 6
<video src=‘video/BigBuck.ogg’ autoplay></video>
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
HTML5 cung cấp thêm các điều khiển cho video:
Controls: cung cấp trình điều khiển video trên các
trình duyệt khác nhau
Poster: thuộc tính chỉ định cho trình duyệt load hình
ảnh ban đầu của video
Width, height: thuộc tính chỉ định kích thước của
video
<video src=‘video/BigBuck.ogg’ controls poster=‘poster854.jpg’
width=‘320’ height=‘180’ ></video>
HTML5 cung cấp thêm các điều khiển cho video:
Controls: cung cấp trình điều khiển video trên các
trình duyệt khác nhau
Poster: thuộc tính chỉ định cho trình duyệt load hình
ảnh ban đầu của video
Width, height: thuộc tính chỉ định kích thước của
video
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 7
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Audio: thuộc tính này cho phép tắt tiếng của video,
giá trị 'muted'
Loop: thuộc tính này sẽ kích hoạt đoạn video phát lại
Preload: cho phép tải đoạn video ngay khi tải trang
web, giảm thời gian tải video
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 8
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Thêm các thuộc tính để video được hỗ trợ trên
nhiều trình duyệt:
Có nhiều định dạng, codec cho video nhưng không phải lúc nào
cũng hỗ trợ HTML5 video hiển thị trên các trình duyệt
Định dạng Ogg:
• Định dạng theo chuẩn mã nguồn mở
• Được hỗ trợ bởi các trình duyệt Chrome, Firefox, Opera
Định dạng MP4:
• Sử dụng codec H.264 và âm thanh sử dụng codec AAC
• Được hỗ trợ bởi IE, Safari, iOS và Android
Thêm các thuộc tính để video được hỗ trợ trên
nhiều trình duyệt:
Có nhiều định dạng, codec cho video nhưng không phải lúc nào
cũng hỗ trợ HTML5 video hiển thị trên các trình duyệt
Định dạng Ogg:
• Định dạng theo chuẩn mã nguồn mở
• Được hỗ trợ bởi các trình duyệt Chrome, Firefox, Opera
Định dạng MP4:
• Sử dụng codec H.264 và âm thanh sử dụng codec AAC
• Được hỗ trợ bởi IE, Safari, iOS và Android
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 9
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Để đoạn video ở cả 2 định dạng Ogg và MP4 sẽ giúp
hiển thị tốt trên các trình duyệt và thiết bị
Thêm thuộc tính type, codecs: mô tả cấu trúc kiểu
của file ogg, mp4
<video controls poster=‘poster320.jpg’ width=‘320’ height=‘180’>
<source src=‘video/BigBuck.ogg’>
<source src=‘video/BigBuck.mp4’>
</video>
Để đoạn video ở cả 2 định dạng Ogg và MP4 sẽ giúp
hiển thị tốt trên các trình duyệt và thiết bị
Thêm thuộc tính type, codecs: mô tả cấu trúc kiểu
của file ogg, mp4
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 10
<source src=‘video/BigBuck.ogg’ type=‘video/ogg; codecs=“theora,
vorbis”’>
<source src=‘video/BigBuck.mp4’ type=‘video/mp4;
codecs=“avc1.42E01E, mp4a.40.2” ’ >
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Điều khiển video với Javascript:
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 11
Tạo nút sử dụng javascript đề điều khiển video
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Khởi tạo hàm trong javascript để thực hiện các sự
kiện: Play, Pause, …
<script type="text/javascript">
var video = document.getElementsByTagName('video')[0];
var playPause = document.getElementById('playPause');
function setButtonWidth(e){
playPause.style.width = video.videoWidth + 'px';
}
function setPlayPause(e){
if(video.paused) {
playPause.value = 'Play';
playPause.onclick = function(e) { video.play(); }
}else{
playPause.value = 'Pause';
playPause.onclick = function(e) { video.pause(); }
}
}
</script>
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 12
<script type="text/javascript">
var video = document.getElementsByTagName('video')[0];
var playPause = document.getElementById('playPause');
function setButtonWidth(e){
playPause.style.width = video.videoWidth + 'px';
}
function setPlayPause(e){
if(video.paused) {
playPause.value = 'Play';
playPause.onclick = function(e) { video.play(); }
}else{
playPause.value = 'Pause';
playPause.onclick = function(e) { video.pause(); }
}
}
</script>
THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
Chèn âm thanh vào trang web sử dụng HTML5:
<audio controls>
<source src=‘video/BigBuck.ogg’>
<source src=‘video/BigBuck.mp3’>
</audio>
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 13
CANVAS
CANVAS
Canvas là hàm API vẽ 2 chiều của HTML5
Hình vẽ sử dụng Canvas:
Cập nhật được trong thời gian thực
Lưu lại dưới định dạng .png
Sử dụng các thành phần Canvas để xác định bề mặt
vẽ, nhưng phải xác định hướng vẽ và dòng kết quả,
hình dạng, màu sắc với Javascript
Canvas luôn làm việc cùng với javascript
Các bước làm việc với Canvas:
Định nghĩa thành phần canvas trong HTML
Tham chiếu bối cảnh vẽ cho các phần từ đó như một
biến trong Javascript
Canvas là hàm API vẽ 2 chiều của HTML5
Hình vẽ sử dụng Canvas:
Cập nhật được trong thời gian thực
Lưu lại dưới định dạng .png
Sử dụng các thành phần Canvas để xác định bề mặt
vẽ, nhưng phải xác định hướng vẽ và dòng kết quả,
hình dạng, màu sắc với Javascript
Canvas luôn làm việc cùng với javascript
Các bước làm việc với Canvas:
Định nghĩa thành phần canvas trong HTML
Tham chiếu bối cảnh vẽ cho các phần từ đó như một
biến trong Javascript
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 15
CANVAS
Khởi tạo:
Lệnh canvas:
Kết hợp vẽ với Javascript:
<canvas id="myCanvas" width="200" height="100" style="border:1px
solid #c3c3c3;“></canvas>
Khởi tạo:
Lệnh canvas:
Kết hợp vẽ với Javascript:
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 16
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);
</script>
CANVAS
Đối tượng getContext(“2d”) là đối tượng HTML5
chứa các phương thức vẽ đường path, hình hộp,
hình tròn, character, hình ảnh, v.v….
Định nghĩa kiểu màu tô là màu đỏ
Định nghĩa vẽ một hình chữ nhật kích thước
150x75, bắt đầu từ góc trên bên trái (0,0)
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000“;
Đối tượng getContext(“2d”) là đối tượng HTML5
chứa các phương thức vẽ đường path, hình hộp,
hình tròn, character, hình ảnh, v.v….
Định nghĩa kiểu màu tô là màu đỏ
Định nghĩa vẽ một hình chữ nhật kích thước
150x75, bắt đầu từ góc trên bên trái (0,0)
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 17
ctx.fillStyle="#FF0000“;
ctx.fillRect(0,0,150,75);
CANVAS
Ưu điểm của thành phần Canvas:
Cho phép tạo graphic, hình động (animation),
gradient, các đối tượng đồ họa khác bằng mã
Đã được các trình duyệt phổ biến hỗ trợ
Khả năng mạnh mẽ: làm game, animation, chart,
graph, vector, …
Không phải sử dụng thêm plugin
Ưu điểm của thành phần Canvas:
Cho phép tạo graphic, hình động (animation),
gradient, các đối tượng đồ họa khác bằng mã
Đã được các trình duyệt phổ biến hỗ trợ
Khả năng mạnh mẽ: làm game, animation, chart,
graph, vector, …
Không phải sử dụng thêm plugin
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 18
CANVAS
Vẽ đường path:
Đường path: tạo nên các hình dạng cơ sở
Hình
chữ
nhật
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 19
path Đường
thẳng
Hình
tròn
Đường
cong
CANVAS
Vẽ hình chữ nhật:
X,y: tọa độ vẽ hình
Width, height: kích thước hình
.fillStyle()
.fillRect(x,y, width, height)
.strokeStyle()
.strokeRect(x, y, width, height)
Vẽ hình chữ nhật:
X,y: tọa độ vẽ hình
Width, height: kích thước hình
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 20
Tọa độ x,y trên màn hình
CANVAS
Vẽ hình chữ nhật:
function setup() {
var canvas = document.getElementById('lessonCanvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.strokeStyle = 'rgb(255, 0, 0)';
ctx.strokeRect(0.5, 0.5, 100, 100);}
}
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 21
function setup() {
var canvas = document.getElementById('lessonCanvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.strokeStyle = 'rgb(255, 0, 0)';
ctx.strokeRect(0.5, 0.5, 100, 100);}
}
CANVAS
Vẽ đường thẳng:
ctx.strokeRect(0, 0, 300, 300);
ctx.moveTo(20, 20);
ctx.lineTo(100, 100);
ctx.lineTo(80, 200);
ctx.lineTo(200, 80);
ctx.lineTo(200, 200);
ctx.lineTo(280, 280);
ctx.stroke();
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 22
ctx.strokeRect(0, 0, 300, 300);
ctx.moveTo(20, 20);
ctx.lineTo(100, 100);
ctx.lineTo(80, 200);
ctx.lineTo(200, 80);
ctx.lineTo(200, 200);
ctx.lineTo(280, 280);
ctx.stroke();
moveTo(x, y) Tạo ra một đường path phụ với tọa độ xác định
lineTo (x,y) Thêm điểm point mới, kết nối với điểm trước đó bằng đường
thẳng
CANVAS
Vẽ đường tròn:
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.beginPath();
ctx.arc(70,18,15,0,Math.PI*2,true);
ctx.closePath();
ctx.fill();
</script>
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 23
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.beginPath();
ctx.arc(70,18,15,0,Math.PI*2,true);
ctx.closePath();
ctx.fill();
</script>
Arc(x,y, bán kính , 2 пr)
CANVAS
Vẽ đường cong:
ctx.fillStyle = 'rgb(0,173,104)';
ctx.moveTo(145, 150);
ctx.quadraticCurveTo(120, 200, 170, 280);
ctx.lineTo(190, 280);
ctx.quadraticCurveTo(125, 190, 155, 150);
ctx.fill();
var pt1 = { x: 155, y: 145 };
var pt2 = { x: 93, y: 106 };
var cp1 = { x: 111, y: 154 };
var cp2 = { x: 4, y: 131 };
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 24
ctx.fillStyle = 'rgb(0,173,104)';
ctx.moveTo(145, 150);
ctx.quadraticCurveTo(120, 200, 170, 280);
ctx.lineTo(190, 280);
ctx.quadraticCurveTo(125, 190, 155, 150);
ctx.fill();
var pt1 = { x: 155, y: 145 };
var pt2 = { x: 93, y: 106 };
var cp1 = { x: 111, y: 154 };
var cp2 = { x: 4, y: 131 };
quadraticCurveTo(cpx, cpy, x, y)
bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
CANVAS
Vẽ text:
ctx.font = "bold 1.8em sans-serif";
ctx.fillText(text,x,y,maxWidth);
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 25
ctx.font = "bold 1.8em
sans-serif";
ctx.fillText('HELLO MY
NAME IS', 12, 40);
CANVAS
Tô màu gradient:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var grd=ctx.createLinearGradient(0,0,170,0);
grd.addColorStop(0,"black");
grd.addColorStop(1,"white");
ctx.fillStyle=grd;
ctx.fillRect(20,20,150,100);
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 26
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var grd=ctx.createLinearGradient(0,0,170,0);
grd.addColorStop(0,"black");
grd.addColorStop(1,"white");
ctx.fillStyle=grd;
ctx.fillRect(20,20,150,100);
Phương thức xác định màu sắc và vị trí của
đối tượng gradient
Thường được sử dụng cùng
createLinearGradient() và
createRadialGradient ()
CANVAS
Chèn thêm hình ảnh:
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
Tham số Diễn tả
Img Chỉ định thành phần hình ảnh sử dụng
Sx Tùy chọn. Tọa độ x nơi tọa độ bắt đầu
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 27
Sx Tùy chọn. Tọa độ x nơi tọa độ bắt đầu
Sy Tùy chọn. Tọa độ y nơi tọa độ bắt đầu
Swidth Tùy chọn. Chiều rộng của hình ảnh cắt bớt
Sheight Tùy chọn. Chiều cao của hình ảnh cắt bớt
X, y Tọa độ x, y để đặt hình ảnh
Width, height Tùy chọn. Chiều dài, rộng của hình ảnh sử dụng
CANVAS
Sử dụng biến đổi:
Sử dụng kết hợp với khung hình vẽ sẽ tạo ra hình ảnh
đẹp hơn
3 loại biến đổi:
• Scaling
• Rotating
• Translating
Sử dụng kết hợp với hàm: save, restore
Sử dụng biến đổi:
Sử dụng kết hợp với khung hình vẽ sẽ tạo ra hình ảnh
đẹp hơn
3 loại biến đổi:
• Scaling
• Rotating
• Translating
Sử dụng kết hợp với hàm: save, restore
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 28
ctx.fillRect(30, 120, 40, 40);
ctx.translate(0, 20);
ctx.fillRect(80, 120, 40, 40);
CANVAS
Vẽ hình chuyển động lặp (loop):
Kết hợp sử dụng với hàm javascript (setInterval), sẽ
tạo ra được những chuyển động lặp
function draw() {
drawBackground();
<!--ufo-->
ctx.drawImage(img, x, y);
x += 3;
if(x > 300){
x = -50;
y=Math.random()*300;
}
}
function setup() {
var canvas =
document.getElementById('lessonCanvas');
if (canvas.getContext) {
ctx = canvas.getContext('2d');
img = new Image();
img.onload = function(){
setInterval(function () { draw(); }, 36);
}
img.src = ‘’;
}
}
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 29
function draw() {
drawBackground();
<!--ufo-->
ctx.drawImage(img, x, y);
x += 3;
if(x > 300){
x = -50;
y=Math.random()*300;
}
}
function setup() {
var canvas =
document.getElementById('lessonCanvas');
if (canvas.getContext) {
ctx = canvas.getContext('2d');
img = new Image();
img.onload = function(){
setInterval(function () { draw(); }, 36);
}
img.src = ‘’;
}
}
TỔNG KẾT
Khi chèn video, âm thanh vào trang web nên khai
báo các định dạng .ogg, .mp4, .mp3 để được các
trình duyệt phổ biến hỗ trợ tốt nhất
Khi vẽ các hình cơ bản với Canvas, điều cần chú ý:
Tọa độ vẽ
Kích thước
Hàm tính đặc biệt (chu vi hình tròn)
Sử dụng kết hợp Canvas với Javascript để được hình
ảnh tốt nhất
Khi chèn video, âm thanh vào trang web nên khai
báo các định dạng .ogg, .mp4, .mp3 để được các
trình duyệt phổ biến hỗ trợ tốt nhất
Khi vẽ các hình cơ bản với Canvas, điều cần chú ý:
Tọa độ vẽ
Kích thước
Hàm tính đặc biệt (chu vi hình tròn)
Sử dụng kết hợp Canvas với Javascript để được hình
ảnh tốt nhất
Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 30

More Related Content

What's hot

Slide1 - Co ban HTML5
Slide1 - Co ban HTML5Slide1 - Co ban HTML5
Slide1 - Co ban HTML5
Đặng Til
 

What's hot (18)

Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTBài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
 
Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3Bài giảng HTML5-CSS3
Bài giảng HTML5-CSS3
 
Slide2
Slide2Slide2
Slide2
 
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầu
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầuTài liệu tìm hiểu jQuery dành cho người mới bắt đầu
Tài liệu tìm hiểu jQuery dành cho người mới bắt đầu
 
BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...
BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...
BÀI 1 Bước đầu làm quen với ADOBE DREAMWEAVER CS4 và những thao tác cơ bản tr...
 
Slide 1 - Thiết kế Web cơ bản
 Slide 1 - Thiết kế Web cơ bản Slide 1 - Thiết kế Web cơ bản
Slide 1 - Thiết kế Web cơ bản
 
Slide4
Slide4Slide4
Slide4
 
Slide1
Slide1Slide1
Slide1
 
Slide3
Slide3Slide3
Slide3
 
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
 
Web2022 slide 1
Web2022   slide 1Web2022   slide 1
Web2022 slide 1
 
Slide1 - Co ban HTML5
Slide1 - Co ban HTML5Slide1 - Co ban HTML5
Slide1 - Co ban HTML5
 
Slide 8 - Thiết kế Web cơ bản
Slide 8 - Thiết kế Web cơ bảnSlide 8 - Thiết kế Web cơ bản
Slide 8 - Thiết kế Web cơ bản
 
Slide5
Slide5Slide5
Slide5
 
Slide 6 - Thiết kế Web cơ bản
Slide 6 - Thiết kế Web cơ bảnSlide 6 - Thiết kế Web cơ bản
Slide 6 - Thiết kế Web cơ bản
 
Slide7
Slide7Slide7
Slide7
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1
 
Slide1
Slide1Slide1
Slide1
 

Viewers also liked

Viewers also liked (20)

Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPT
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
 
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTBài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
 
Bài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTBài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPT
 
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTBài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
 
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
BÀI 2 Tìm hiểu ngôn ngữ đánh dấu trong việc phát triển web mobile - Giáo trìn...
 
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTBài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
 
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPTBài 3 Tạo style cho font và văn bản - Giáo trình FPT
Bài 3 Tạo style cho font và văn bản - Giáo trình FPT
 
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPTBài 2 Cơ chế làm việc của CSS - Giáo trình FPT
Bài 2 Cơ chế làm việc của CSS - Giáo trình FPT
 
Bài 2 Cài Đặt Joomla
Bài 2 Cài Đặt JoomlaBài 2 Cài Đặt Joomla
Bài 2 Cài Đặt Joomla
 
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPTBài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
Bài 6 Thiết kế các thành phần giao diện - Giáo trình FPT
 
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTBài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
 
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPTBài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
 
BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...
BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...
BÀI 5 Làm việc với FONT, TYPEFACE và tỷ lệ nhịp điệu trong TYPOGRAPHY - Giáo ...
 
Bài 14: Quản trị File và Print Server - Giáo trình FPT
Bài 14: Quản trị File và Print Server - Giáo trình FPTBài 14: Quản trị File và Print Server - Giáo trình FPT
Bài 14: Quản trị File và Print Server - Giáo trình FPT
 
BÀI 5 Tạo app cho thiết bị di động & một số cải tiến cho web di động - Giáo t...
BÀI 5 Tạo app cho thiết bị di động & một số cải tiến cho web di động - Giáo t...BÀI 5 Tạo app cho thiết bị di động & một số cải tiến cho web di động - Giáo t...
BÀI 5 Tạo app cho thiết bị di động & một số cải tiến cho web di động - Giáo t...
 

Similar to BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5

Video - lesson21 - reference
Video - lesson21 - referenceVideo - lesson21 - reference
Video - lesson21 - reference
Hallo Patidu
 
Microsoft expression encoder 4
Microsoft expression encoder 4Microsoft expression encoder 4
Microsoft expression encoder 4
Đăng Khôi
 
Lesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms OverviewLesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms Overview
Hallo Patidu
 
Flash Presentation
Flash PresentationFlash Presentation
Flash Presentation
stephentriu
 
Youtube & tao Video, VCD, DVD
Youtube & tao Video, VCD, DVDYoutube & tao Video, VCD, DVD
Youtube & tao Video, VCD, DVD
Vo Hieu Nghia
 

Similar to BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5 (20)

Slide4 html5
Slide4 html5Slide4 html5
Slide4 html5
 
BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...
BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...
BÀI 4 Tinh chỉnh môi trường làm việc và làm việc với cách thành phần trên web...
 
Web1012 slide 4
Web1012   slide 4Web1012   slide 4
Web1012 slide 4
 
3. powerpoint web
3. powerpoint web3. powerpoint web
3. powerpoint web
 
Video - lesson21 - reference
Video - lesson21 - referenceVideo - lesson21 - reference
Video - lesson21 - reference
 
Camtasia
CamtasiaCamtasia
Camtasia
 
Microsoft expression encoder 4
Microsoft expression encoder 4Microsoft expression encoder 4
Microsoft expression encoder 4
 
Web1012 slide 1
Web1012   slide 1Web1012   slide 1
Web1012 slide 1
 
Lesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms OverviewLesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms Overview
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online MớiSlide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
 
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online  MớiSlide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online  Mới
Slide Đồ Án Tốt Nghiệp Khoa CNTT Web Xem Phim Online Mới
 
Flash Presentation
Flash PresentationFlash Presentation
Flash Presentation
 
Youtube & tao Video, VCD, DVD
Youtube & tao Video, VCD, DVDYoutube & tao Video, VCD, DVD
Youtube & tao Video, VCD, DVD
 
Chu de 02_snag_it
Chu de 02_snag_itChu de 02_snag_it
Chu de 02_snag_it
 
Wordress_copyright Võ Tâm Long
Wordress_copyright Võ Tâm LongWordress_copyright Võ Tâm Long
Wordress_copyright Võ Tâm Long
 
Slide1 html5
Slide1 html5Slide1 html5
Slide1 html5
 
Slide1
Slide1Slide1
Slide1
 
Slide1
Slide1Slide1
Slide1
 
Giới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và AutowebGiới thiệu NukeViet 5 và Autoweb
Giới thiệu NukeViet 5 và Autoweb
 

More from MasterCode.vn

Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5

  • 1. BÀI 4 LÀM VIỆC VỚI CÁC THÀNH PHẦN VIDEO, AUDIO, CANVAS CỦA HTML5
  • 2. NHẮC LẠI BÀI TRƯỚC Tổng quan về Javascript và Jquery Làm việc với Javascript Làm việc với thư viện Jquery Học Javascript, jQuery với w3schools Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 2
  • 3. MỤC TIÊU BÀI HỌC Chèn các thành phần video, audio vào trang Điều khiển video với Javascript Làm quen với thành phần canvas Sử dụng thành phần cavas để thực hiện: Vẽ hình và đường Áp dụng màu và cọ fradient Thực hiện tạo hình động Chèn các thành phần video, audio vào trang Điều khiển video với Javascript Làm quen với thành phần canvas Sử dụng thành phần cavas để thực hiện: Vẽ hình và đường Áp dụng màu và cọ fradient Thực hiện tạo hình động Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 3
  • 4. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5
  • 5. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Tại sao phải thêm video, âm thanh vào trang web? Tạo nên trang web hấp dẫn Thu hút sự truy cập của người duyệt với website Là một cách tiếp cận người dùng Trước khi có HTML5, làm cách nào để chèn video, âm thanh vào trang web? Phải sử dụng plug-ins của các công ty thứ 3 (third party) Tại sao phải thêm video, âm thanh vào trang web? Tạo nên trang web hấp dẫn Thu hút sự truy cập của người duyệt với website Là một cách tiếp cận người dùng Trước khi có HTML5, làm cách nào để chèn video, âm thanh vào trang web? Phải sử dụng plug-ins của các công ty thứ 3 (third party) Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 5
  • 6. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 HTML5 chèn video, âm thanh vào trang web như thế nào? Cung cấp thành phần HTML video chạy trong trình duyệt Tích hợp thêm với Javascript Câu lệnh: Autoplay: thuộc tính quy định với trình duyệt đoạn video sẽ được chơi ngay khi trang được load HTML5 chèn video, âm thanh vào trang web như thế nào? Cung cấp thành phần HTML video chạy trong trình duyệt Tích hợp thêm với Javascript Câu lệnh: Autoplay: thuộc tính quy định với trình duyệt đoạn video sẽ được chơi ngay khi trang được load Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 6 <video src=‘video/BigBuck.ogg’ autoplay></video>
  • 7. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 HTML5 cung cấp thêm các điều khiển cho video: Controls: cung cấp trình điều khiển video trên các trình duyệt khác nhau Poster: thuộc tính chỉ định cho trình duyệt load hình ảnh ban đầu của video Width, height: thuộc tính chỉ định kích thước của video <video src=‘video/BigBuck.ogg’ controls poster=‘poster854.jpg’ width=‘320’ height=‘180’ ></video> HTML5 cung cấp thêm các điều khiển cho video: Controls: cung cấp trình điều khiển video trên các trình duyệt khác nhau Poster: thuộc tính chỉ định cho trình duyệt load hình ảnh ban đầu của video Width, height: thuộc tính chỉ định kích thước của video Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 7
  • 8. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Audio: thuộc tính này cho phép tắt tiếng của video, giá trị 'muted' Loop: thuộc tính này sẽ kích hoạt đoạn video phát lại Preload: cho phép tải đoạn video ngay khi tải trang web, giảm thời gian tải video Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 8
  • 9. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Thêm các thuộc tính để video được hỗ trợ trên nhiều trình duyệt: Có nhiều định dạng, codec cho video nhưng không phải lúc nào cũng hỗ trợ HTML5 video hiển thị trên các trình duyệt Định dạng Ogg: • Định dạng theo chuẩn mã nguồn mở • Được hỗ trợ bởi các trình duyệt Chrome, Firefox, Opera Định dạng MP4: • Sử dụng codec H.264 và âm thanh sử dụng codec AAC • Được hỗ trợ bởi IE, Safari, iOS và Android Thêm các thuộc tính để video được hỗ trợ trên nhiều trình duyệt: Có nhiều định dạng, codec cho video nhưng không phải lúc nào cũng hỗ trợ HTML5 video hiển thị trên các trình duyệt Định dạng Ogg: • Định dạng theo chuẩn mã nguồn mở • Được hỗ trợ bởi các trình duyệt Chrome, Firefox, Opera Định dạng MP4: • Sử dụng codec H.264 và âm thanh sử dụng codec AAC • Được hỗ trợ bởi IE, Safari, iOS và Android Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 9
  • 10. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Để đoạn video ở cả 2 định dạng Ogg và MP4 sẽ giúp hiển thị tốt trên các trình duyệt và thiết bị Thêm thuộc tính type, codecs: mô tả cấu trúc kiểu của file ogg, mp4 <video controls poster=‘poster320.jpg’ width=‘320’ height=‘180’> <source src=‘video/BigBuck.ogg’> <source src=‘video/BigBuck.mp4’> </video> Để đoạn video ở cả 2 định dạng Ogg và MP4 sẽ giúp hiển thị tốt trên các trình duyệt và thiết bị Thêm thuộc tính type, codecs: mô tả cấu trúc kiểu của file ogg, mp4 Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 10 <source src=‘video/BigBuck.ogg’ type=‘video/ogg; codecs=“theora, vorbis”’> <source src=‘video/BigBuck.mp4’ type=‘video/mp4; codecs=“avc1.42E01E, mp4a.40.2” ’ >
  • 11. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Điều khiển video với Javascript: Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 11 Tạo nút sử dụng javascript đề điều khiển video
  • 12. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Khởi tạo hàm trong javascript để thực hiện các sự kiện: Play, Pause, … <script type="text/javascript"> var video = document.getElementsByTagName('video')[0]; var playPause = document.getElementById('playPause'); function setButtonWidth(e){ playPause.style.width = video.videoWidth + 'px'; } function setPlayPause(e){ if(video.paused) { playPause.value = 'Play'; playPause.onclick = function(e) { video.play(); } }else{ playPause.value = 'Pause'; playPause.onclick = function(e) { video.pause(); } } } </script> Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 12 <script type="text/javascript"> var video = document.getElementsByTagName('video')[0]; var playPause = document.getElementById('playPause'); function setButtonWidth(e){ playPause.style.width = video.videoWidth + 'px'; } function setPlayPause(e){ if(video.paused) { playPause.value = 'Play'; playPause.onclick = function(e) { video.play(); } }else{ playPause.value = 'Pause'; playPause.onclick = function(e) { video.pause(); } } } </script>
  • 13. THÀNH PHẦN VIDEO, AUDIO TRONG HTML5 Chèn âm thanh vào trang web sử dụng HTML5: <audio controls> <source src=‘video/BigBuck.ogg’> <source src=‘video/BigBuck.mp3’> </audio> Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 13
  • 15. CANVAS Canvas là hàm API vẽ 2 chiều của HTML5 Hình vẽ sử dụng Canvas: Cập nhật được trong thời gian thực Lưu lại dưới định dạng .png Sử dụng các thành phần Canvas để xác định bề mặt vẽ, nhưng phải xác định hướng vẽ và dòng kết quả, hình dạng, màu sắc với Javascript Canvas luôn làm việc cùng với javascript Các bước làm việc với Canvas: Định nghĩa thành phần canvas trong HTML Tham chiếu bối cảnh vẽ cho các phần từ đó như một biến trong Javascript Canvas là hàm API vẽ 2 chiều của HTML5 Hình vẽ sử dụng Canvas: Cập nhật được trong thời gian thực Lưu lại dưới định dạng .png Sử dụng các thành phần Canvas để xác định bề mặt vẽ, nhưng phải xác định hướng vẽ và dòng kết quả, hình dạng, màu sắc với Javascript Canvas luôn làm việc cùng với javascript Các bước làm việc với Canvas: Định nghĩa thành phần canvas trong HTML Tham chiếu bối cảnh vẽ cho các phần từ đó như một biến trong Javascript Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 15
  • 16. CANVAS Khởi tạo: Lệnh canvas: Kết hợp vẽ với Javascript: <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;“></canvas> Khởi tạo: Lệnh canvas: Kết hợp vẽ với Javascript: Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 16 <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.fillRect(0,0,150,75); </script>
  • 17. CANVAS Đối tượng getContext(“2d”) là đối tượng HTML5 chứa các phương thức vẽ đường path, hình hộp, hình tròn, character, hình ảnh, v.v…. Định nghĩa kiểu màu tô là màu đỏ Định nghĩa vẽ một hình chữ nhật kích thước 150x75, bắt đầu từ góc trên bên trái (0,0) var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000“; Đối tượng getContext(“2d”) là đối tượng HTML5 chứa các phương thức vẽ đường path, hình hộp, hình tròn, character, hình ảnh, v.v…. Định nghĩa kiểu màu tô là màu đỏ Định nghĩa vẽ một hình chữ nhật kích thước 150x75, bắt đầu từ góc trên bên trái (0,0) Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 17 ctx.fillStyle="#FF0000“; ctx.fillRect(0,0,150,75);
  • 18. CANVAS Ưu điểm của thành phần Canvas: Cho phép tạo graphic, hình động (animation), gradient, các đối tượng đồ họa khác bằng mã Đã được các trình duyệt phổ biến hỗ trợ Khả năng mạnh mẽ: làm game, animation, chart, graph, vector, … Không phải sử dụng thêm plugin Ưu điểm của thành phần Canvas: Cho phép tạo graphic, hình động (animation), gradient, các đối tượng đồ họa khác bằng mã Đã được các trình duyệt phổ biến hỗ trợ Khả năng mạnh mẽ: làm game, animation, chart, graph, vector, … Không phải sử dụng thêm plugin Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 18
  • 19. CANVAS Vẽ đường path: Đường path: tạo nên các hình dạng cơ sở Hình chữ nhật Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 19 path Đường thẳng Hình tròn Đường cong
  • 20. CANVAS Vẽ hình chữ nhật: X,y: tọa độ vẽ hình Width, height: kích thước hình .fillStyle() .fillRect(x,y, width, height) .strokeStyle() .strokeRect(x, y, width, height) Vẽ hình chữ nhật: X,y: tọa độ vẽ hình Width, height: kích thước hình Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 20 Tọa độ x,y trên màn hình
  • 21. CANVAS Vẽ hình chữ nhật: function setup() { var canvas = document.getElementById('lessonCanvas'); if (canvas.getContext) { var ctx = canvas.getContext('2d'); ctx.strokeStyle = 'rgb(255, 0, 0)'; ctx.strokeRect(0.5, 0.5, 100, 100);} } Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 21 function setup() { var canvas = document.getElementById('lessonCanvas'); if (canvas.getContext) { var ctx = canvas.getContext('2d'); ctx.strokeStyle = 'rgb(255, 0, 0)'; ctx.strokeRect(0.5, 0.5, 100, 100);} }
  • 22. CANVAS Vẽ đường thẳng: ctx.strokeRect(0, 0, 300, 300); ctx.moveTo(20, 20); ctx.lineTo(100, 100); ctx.lineTo(80, 200); ctx.lineTo(200, 80); ctx.lineTo(200, 200); ctx.lineTo(280, 280); ctx.stroke(); Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 22 ctx.strokeRect(0, 0, 300, 300); ctx.moveTo(20, 20); ctx.lineTo(100, 100); ctx.lineTo(80, 200); ctx.lineTo(200, 80); ctx.lineTo(200, 200); ctx.lineTo(280, 280); ctx.stroke(); moveTo(x, y) Tạo ra một đường path phụ với tọa độ xác định lineTo (x,y) Thêm điểm point mới, kết nối với điểm trước đó bằng đường thẳng
  • 23. CANVAS Vẽ đường tròn: <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.beginPath(); ctx.arc(70,18,15,0,Math.PI*2,true); ctx.closePath(); ctx.fill(); </script> Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 23 <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="#FF0000"; ctx.beginPath(); ctx.arc(70,18,15,0,Math.PI*2,true); ctx.closePath(); ctx.fill(); </script> Arc(x,y, bán kính , 2 пr)
  • 24. CANVAS Vẽ đường cong: ctx.fillStyle = 'rgb(0,173,104)'; ctx.moveTo(145, 150); ctx.quadraticCurveTo(120, 200, 170, 280); ctx.lineTo(190, 280); ctx.quadraticCurveTo(125, 190, 155, 150); ctx.fill(); var pt1 = { x: 155, y: 145 }; var pt2 = { x: 93, y: 106 }; var cp1 = { x: 111, y: 154 }; var cp2 = { x: 4, y: 131 }; Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 24 ctx.fillStyle = 'rgb(0,173,104)'; ctx.moveTo(145, 150); ctx.quadraticCurveTo(120, 200, 170, 280); ctx.lineTo(190, 280); ctx.quadraticCurveTo(125, 190, 155, 150); ctx.fill(); var pt1 = { x: 155, y: 145 }; var pt2 = { x: 93, y: 106 }; var cp1 = { x: 111, y: 154 }; var cp2 = { x: 4, y: 131 }; quadraticCurveTo(cpx, cpy, x, y) bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
  • 25. CANVAS Vẽ text: ctx.font = "bold 1.8em sans-serif"; ctx.fillText(text,x,y,maxWidth); Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 25 ctx.font = "bold 1.8em sans-serif"; ctx.fillText('HELLO MY NAME IS', 12, 40);
  • 26. CANVAS Tô màu gradient: var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var grd=ctx.createLinearGradient(0,0,170,0); grd.addColorStop(0,"black"); grd.addColorStop(1,"white"); ctx.fillStyle=grd; ctx.fillRect(20,20,150,100); Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 26 var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var grd=ctx.createLinearGradient(0,0,170,0); grd.addColorStop(0,"black"); grd.addColorStop(1,"white"); ctx.fillStyle=grd; ctx.fillRect(20,20,150,100); Phương thức xác định màu sắc và vị trí của đối tượng gradient Thường được sử dụng cùng createLinearGradient() và createRadialGradient ()
  • 27. CANVAS Chèn thêm hình ảnh: context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height); Tham số Diễn tả Img Chỉ định thành phần hình ảnh sử dụng Sx Tùy chọn. Tọa độ x nơi tọa độ bắt đầu Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 27 Sx Tùy chọn. Tọa độ x nơi tọa độ bắt đầu Sy Tùy chọn. Tọa độ y nơi tọa độ bắt đầu Swidth Tùy chọn. Chiều rộng của hình ảnh cắt bớt Sheight Tùy chọn. Chiều cao của hình ảnh cắt bớt X, y Tọa độ x, y để đặt hình ảnh Width, height Tùy chọn. Chiều dài, rộng của hình ảnh sử dụng
  • 28. CANVAS Sử dụng biến đổi: Sử dụng kết hợp với khung hình vẽ sẽ tạo ra hình ảnh đẹp hơn 3 loại biến đổi: • Scaling • Rotating • Translating Sử dụng kết hợp với hàm: save, restore Sử dụng biến đổi: Sử dụng kết hợp với khung hình vẽ sẽ tạo ra hình ảnh đẹp hơn 3 loại biến đổi: • Scaling • Rotating • Translating Sử dụng kết hợp với hàm: save, restore Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 28 ctx.fillRect(30, 120, 40, 40); ctx.translate(0, 20); ctx.fillRect(80, 120, 40, 40);
  • 29. CANVAS Vẽ hình chuyển động lặp (loop): Kết hợp sử dụng với hàm javascript (setInterval), sẽ tạo ra được những chuyển động lặp function draw() { drawBackground(); <!--ufo--> ctx.drawImage(img, x, y); x += 3; if(x > 300){ x = -50; y=Math.random()*300; } } function setup() { var canvas = document.getElementById('lessonCanvas'); if (canvas.getContext) { ctx = canvas.getContext('2d'); img = new Image(); img.onload = function(){ setInterval(function () { draw(); }, 36); } img.src = ‘’; } } Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 29 function draw() { drawBackground(); <!--ufo--> ctx.drawImage(img, x, y); x += 3; if(x > 300){ x = -50; y=Math.random()*300; } } function setup() { var canvas = document.getElementById('lessonCanvas'); if (canvas.getContext) { ctx = canvas.getContext('2d'); img = new Image(); img.onload = function(){ setInterval(function () { draw(); }, 36); } img.src = ‘’; } }
  • 30. TỔNG KẾT Khi chèn video, âm thanh vào trang web nên khai báo các định dạng .ogg, .mp4, .mp3 để được các trình duyệt phổ biến hỗ trợ tốt nhất Khi vẽ các hình cơ bản với Canvas, điều cần chú ý: Tọa độ vẽ Kích thước Hàm tính đặc biệt (chu vi hình tròn) Sử dụng kết hợp Canvas với Javascript để được hình ảnh tốt nhất Khi chèn video, âm thanh vào trang web nên khai báo các định dạng .ogg, .mp4, .mp3 để được các trình duyệt phổ biến hỗ trợ tốt nhất Khi vẽ các hình cơ bản với Canvas, điều cần chú ý: Tọa độ vẽ Kích thước Hàm tính đặc biệt (chu vi hình tròn) Sử dụng kết hợp Canvas với Javascript để được hình ảnh tốt nhất Slide 4 - Làm việc với các thành phần video, audio, canvas của HTML5 30