JWPlayer v.5
Hôm
nay viết tut này giúp mọi người chèn nhạc và video vào blog hoàn toàn
theo ý bạn muốn, cực pờ rồ luôn (Bài này tớ viết rất dài và nhúng nhiều
flash minh họa nên nếu load bài không thấy flash minh họa, bạn nhớ
refesh vài lần để load cho hết. Còn refresh mãi mà flash không ra thì
host chứa file nó bị đơ hoặc hết bandwidth, đợi lúc khác xem lại )
Giới thiệu sơ qua về JW Player cho bạn nào chưa biết nó:
JW
Player là 1 chương trình flash mã nguồn mở dùng để phát nhạc và video
được sử dụng phổ biến ở rất nhiều các trang web, diễn đàn
Đây là trang chủ: http://www.longtailvideo.com
Về âm thanh, JW Player hỗ trợ 2 định dạng: MP3 & ACC
Về video, JW Player hỗ trợ 2 định dạng: FLV & MP4
JW Player có giao diện gốc rất đơn giản:
Nhưng
với sự tùy biến rất linh hoạt thông qua việc khai báo biến trực tiếp
hoặc thiết lập qua 1 file điều khiển dạng xml các bạn có thể thay đổi
giao diện, thêm bớt các chức năng theo ý mình như tự động chơi, chơi
ngẫu nhiên, thêm ảnh cho bài hát hay video, thêm logo của riêng bạn
vv...
Bạn có thể download JW Player bản mới nhất version 4.5 ở đây:
Trước
khi download, bạn nhớ tháo lựa chọn Include the JW Viral Plugin (Trong
trường hợp bạn muốn hiển thị chia sẻ code của file mp3 hay video để
người khác có thể copy trực tiếp khi xem ở blog thì bạn hãy chọn Include
the JW Viral Plugin)
Trong
file zip tải về, giải nén ra bạn chỉ cần lấy file player.swf. Sau đó
upload file player.swf lên host free hay những website lưu trữ trực
tuyến cho dùng link trực tiếp để tiện dùng. Nếu bạn nào không biết dùng
host để quản lý và upload thì có thể tìm hiểu các bài viết khác trên
mạng, trong khuôn khổ bài viết này tớ không đề cập.
Bạn cũng có thể lợi dụng dùng luôn JW Player trực tiếp từ trang chủ theo link này:
Bây
giờ tới phần hướng dẫn các bạn dùng JW Player để chèn nhạc và video vào
blog của mình. Chúng ta sẽ đi từ các bước đơn giản cho tới nâng cao
1. Code tổng quát
2. Các biến của JW Player
3. Code cơ bản - Chèn 1 bản nhạc hay 1 file video vào blog.
4. Code nâng cao - Tùy biến JW Player theo ý bạn
5. Code nâng cao - dùng file điều khiển xml thay thế.
6. Code nâng cao - Chèn 1 list nhạc & video vào blog.
7. Bonus (phần này hay à nha. Các bạn nhớ coi mục này đó, chớ bỏ phí )
1. Code tổng quát:
Code tổng quát để chèn JW Player vào blog dạng sau:
Trong đó:
-
chiều rộng và chiều cao file flash: bạn có thể đặt theo ý bạn. Tuy
nhiên ở đây bạn dùng JW Player để phát nhạc hoặc video thì kích cỡ chiều
rộng và chiều cao nên theo tỉ lệ của ảnh hoặc video mà bạn chèn vào và
tớ thường dùng theo tỉ lệ 4:3.
-
link file flash: bạn thay bằng link mà bạn đã upload JW Player hoặc bạn
có thể dùng luôn JW Player từ trang chủ:
http://player.longtailvideo.com/player.swf
- flashvars="các biến của JW Player": đây chính là phần khai báo kết hợp các biến để tùy biến JW Player hoạt động theo ý bạn.
Như vậy code tổng quát để chèn JW Player vào blog như sau:
2. Các biến của JW Player:
Các bạn có thể đọc các biến của JW Player tại đây:
Bạn chỉ cần quan tâm tới 3 phần:
a. File properties: các biến khai báo file nhạc hay video bạn cần nhúng vào blog
b. Layout: các biến khai báo giao diện cho JW Player
c. Behaviour: các biến quy định cách thức chơi nhạc hay video.
Ở đây tớ sẽ nói 1 số các biến chính đủ dùng cho blog
Khi
khai báo các biến vào đằng sau lệnh flashvars thì các biến được kết hợp
với nhau thông qua ký tự &.Tuy nhiên đối với blogspot, bạn phải đổi
ký tự & thành & thì mới dùng được. Còn ở Yahoo Plus thì nó
sẽ tự động chuyển & thành & cho bạn.
a. File properties:
* file: khao báo đường dẫn file music hay video
ví dụ: file=http://hpbox.425mb.com/media/music/Bai_Khong_Ten_so_4.mp3
* image: khai báo file ảnh bạn muốn hiển thị trên màn hình JW Player.
ví dụ: image=http://img18.imageshack.us/img18/9954/kittycm.jpg
b. Layout:
* skin: đây chính là biến dùng để bạn lột xác cho JW Player của mình có bộ cánh đẹp hơn
bạn có thể vào đây lấy các skin cho JW Player:
Sau
khi tải về, các bạn chỉ việc lấy file flash swf trong đó ra rồi upload
lấy link trực tiếp để dùng, hoặc bạn có thể dùng sẵn skin từ trang chủ:
ví dụ: skin=http://www.longtailvideo.com/files/skins/snel.swf
* logo: chèn logo của bạn. Logo sẽ hiển thị ở góc phải phía trên màn hình JW Player
ví dụ: http://img27.imageshack.us/img27/3257/logohz.png
* backcolor: chỉnh màu nền của playlist và nền phía sau của các nút điều khiển
* fontcolor: chỉnhmàu của các nút điều khiển và chữ hiển thị trong playlist
* lightcolor: chỉnh màu hiển thị khi bạn rê chuột vào các nút lệnh hay text trong playlist
ví dụ: backcolor=fffffff&frontcolor=000000&lightcolor=66cc00
thì
JW Player sẽ có màu nền trắng (ffffff), các nút và text có màu đen
(000000), khi rê chuột vào sẽ biến thành màu xanh lá cây (66cc00)
Bạn có thể tham khảo mã màu ở ngay trong blogspot (phần Settings \ Fonts & Color) hoặc vào trang sau để lấy mã màu:
* controlbar: đây chính là thanh điều khiển của JW Player bao gồm các nút như Player, Stop, Volume...
mặc định sẽ là ở vị trí dưới cùng, bạn có thể thay đổi theo ý như tự động ẩn hoặc trên cùng hoặc không hiển thị
ví dụ:
controlbar=over: thanh điều khiển sẽ tự động ẩn khi bạn chơi nhạc hay xem video.
controlbar=top: thanh điều khiển ở vị trí trên cùng.
* icons: cho phép hiển thị các biểu tượng của các nút lệnh trên màn hình JW Player, mặc định là hiển thị.
Nếu bạn không muốn nó hiển thị trên màn hình của JW Player thì bạn có thể giấu nó đi bằng cách khai báo
icons=0 hoặc icons=true
(0 hoặc false = tắt, 1 hoặc true = bật)
* playlist và playlistsize: định nghĩa playlist trong trường hợp bạn muốn chèn 1 danh sách bài nhạc hay video (sẽ nói ở phần 5)
c. Behaviour:
* displayclick: khi bạn click chuột vào màn hình JW Player, nó sẽ chơi, tạm dừng, câm tiếng... mặc định là Play.
ví dụ: displayclick=none: sẽ không thực hiện lệnh nào khi click chuột vào màn hình JW Player
* autostart: quy định tự động chơi hoặc không. Mặc định là không tự động chơi. Nếu bạn muốn tự động chơi thì khai báo
autostart=1 hoặc autostart=true
* repeat: lặp lại.
ví dụ: repeat=list: lặp lại 1 lần toàn bộ list nhạc
* shuffle: chơi bài 1 cách ngẫu nhiên, tác dụng khi bạn chèn 1 danh sách nhạc mà thôi. (phần 6)
ví dụ: shuffle=1 hoặc shuffle=true
* smoothing: khi chiếu video, bạn nên sử dụng biến này để có hình ảnh mịn màng hơn.
ví dụ: smoothing=1 hoặc smoothing=true
* stretching: co dãn ảnh hiển thị ở màn hình JW Player, mặc định stretching=uniform
* volume: chỉnh âm lượng mặc định ban đầu theo ý bạn, giá trị từ 0 tới 100%
ví dụ: volume=0: câm tiếng
volume=100: âm thanh to hết cỡ.
Hình minh họa một số biến bạn có thể thấy ở giao diện JW Player:
3. Code cơ bản - Chèn 1 bản nhạc hay 1 file video vào blog:
Như
đã nói ở phần 2, khi bạn đưa code vào trong entry ở blogspot, thì dấu
& bạn sẽ phải chuyển thành & thì blogspot mới hiểu được (cái
này blogspot dốt hơn thằng Yahoo Plus ). Tớ sẽ bôi đậm & để bạn dễ phân biệt giữa các biến với nhau.
a. Chèn nhạc:
b. Chèn video:
2 code trên sử dụng skin mặc định đơn giản, hiển thị ảnh ở màn hình JW Player.
Ảnh
tớ chèn có kích cỡ WxH=400x300, nhưng ở phần khai báo đầu tiên
height="320" là bạn nên cộng thêm chiều cao của thanh điều khiển
controlbar để hiển thị ảnh cho chuẩn. Tùy từng skin mà thanh này có
chiều cao khác nhau. Nếu bạn dùng skin mặc định thì chiều cao thanh điều
khiển cỡ 20px mà thôi, skin Sneil thì thanh điều khiển có chiều cao cỡ
30px. Nếu bạn thiết lập thanh điều khiển ở chế độ tự động ẩn thì chỉ
việc đặt chiều cao bằng chiều cao của ảnh chèn vào. Còn nếu bạn ngại
tính toán thì đưa biến stretching vào để nó tự động co dãn ảnh căng toàn
màn hình JW Player. Điều này cũng sẽ ảnh hưởng tới tỉ lệ ảnh khung hình
video nếu là file video
Hình minh họa:
-
allowfullsreen="true": cho phép xem toàn màn hình vi tính. Nhấn vào nút
fullsreen ở thanh điều khiển là bạn có thể xem toàn màn hình. Tuy nhiên
chức năng này ở Yahoo Plus thì bị tịt ngòi vì thằng Yahoo nó cắt xén
code, không cho dùng đầy đủ.
4. Code nâng cao - Tùy biến JW Player theo ý bạn:
Giờ
bạn muốn tùy biến như thay skin, đổi màu các nút, tự động chơi nhạc, ẩn
thanh điều khiển vv... thì bạn chỉ việc thêm các biến như ở phần 2 vào
mà thôi.
Ví
dụ đây là code chơi nhạc với skin Sneil, thay đổi màu các nút lệnh,
hiển thị logo, tự động chơi nhạc, không hiển thị các icon trên màn hình,
âm lượng mức 70%
Ví dụ đây là code chơi video với skin Stijl, hiển thị logo, hiển thị icons, tự động ẩn thanh điều khiển:
5. Code nâng cao - dùng file điều khiển xml thay thế:
Qua
phần 3 & 4 bạn đã hiểu về khai báo biến sau lệnh flashvars. Nhưng
nếu bạn tùy biến càng nhiều thì code càng dài, rất khó nhìn để phân
biệt, làm bạn lẫn lộn. Hơn nữa viết bài nhiều mà mỗi lần chèn lại phải
nhớ lại các biến cũng đau hết cả sọ dừa nên để code dễ nhìn và gọn gàng,
bạn có thể đưa toàn bộ các biến đó vào 1 file xml cho gọn, ví dụ
config.xml rồi khai báo file điều khiển này trong lệnh flashvars.
Cách tạo file config.xml như sau:
Bạn dùng notepad tạo 1 file txt, ví dụ config.txt. Copy đoạn code dưới và paste vào:
true
http://www.longtailvideo.com/files/skins/snel.swf
http://img27.imageshack.us/img27/3257/logohz.png
#ffffff
#000000
#66cc00
#000000
bottom
0
play
1
0
list
1
90
Nếu
bạn theo dõi bài viết từ đầu tới đây thì nhìn cấu trúc bạn đã có thể
hiểu cách khai báo biến như thế nào. Bạn có thể thay logo và skin bằng
link của bạn, thêm bớt các biến khác tùy ý bạn. Ở đây bạn cũng có thể
thêm 2 biến & để khai báo ảnh và file
muốn chèn vào nhưng 2 cái này luôn thay đổi nên không cần thiết phải
thêm. Bạn lưu file txt này, sau đó đổi đuôi txt thành xml: config.xml
Một
điều quan trọng là khi dùng file config.xml để khai báo thì file flash
JW Player (player.swf) bạn cũng phải upload lên cùng với thư mục chứa
file config.xml. 2 file này phải nằm chung trong 1 thư mục khi đó JW
Player mới có thể truy xuất thông tin ở file config.xml
Giờ đưa file config.xml này vào JW Player:
Như vậy bạn thấy code ngắn gọn và dễ nhìn hơn rất nhiều.
Thêm
1 tùy biến linh họat nữa của JW Player là dù bạn thiết lập mọi thứ
trong file config.xml, ví dụ như trên volume=90, nếu bạn muốn thay đổi
thành volume=100 bạn cũng không cần phải sửa lại file config.xml mà chỉ
việc khai báo biến vào trực tiếp như ở các phần 3, 4. Khi ấy JW Player
sẽ ưu tiên các biến khai báo trực tiếp và bỏ qua các biến trùng lặp ở
config.xml
allowfullscreen="true">
6. Code nâng cao - Chèn 1 list nhạc & video vào blog:
Nếu bạn muốn chèn nhiều bài hát lẫn video vào thì JW Player cũng sẽ giúp bạn toại nguyện luôn.
Danh sách các file cần đưa vào playlist sẽ ở định dạng xml
a. Tạo playlist:
Để tạo danh sách bài hát hay video thì các bạn có thể dùng notepad để tạo.
Code tạo playlist như sau:
Tên bài hát
Miêu tả
link bài nhạc hay video
link ảnh minh họa sẽ hiển thị trên màn hình JW Player
link bạn muốn chỉ dẫn cho bài
Bài Không Tên Số 4 (Vũ Thành An)
Ghita solo: Đỗ Minh Thông
http://hpbox.425mb.com/media/music/Bai_Khong_Ten_so_4.mp3
http://img37.imageshack.us/img37/7007/kittyz.jpg
http://huypham.tk/
Phần để hỗ trợ hiển thị tiếng Việt
Mỗi file khai báo sẽ nằm trong cặp thẻ
Chi tiết khai báo mỗi file như tớ minh họa ở track đầu tiên, track thứ 2 là khai báo hoàn chỉnh 1 file.
Cặp thẻ và không nhất thiết phải có. Bạn có thể thêm hoặc bỏ là tùy ý.
Tất cả các ảnh minh họa cho mỗi file, bạn nên để cùng 1 kích cỡ WxH = 400x300 chẳng hạn.
Sau khi thêm các file bạn muốn, tại cửa sổ Notepad, bạn hãy vào File / Save as
Cửa sổ Save As hiện ra , phần File name bạn gõ: "playlist.xml" ( tên file đặt trong ngoặc kép để tạo trực tiếp file xml luôn)
Phần Encoding bạn chọn UTF-8
Sau đó nhấn Save, vậy là bạn đã hoàn thành xong 1 playlist cho JW Player.
Hình minh hoạ:
Giờ bạn hãy upload file playlist.xml này lên host hoặc website lưu trữ cho link trực tiếp rồi lấy link để dùng.
b. Đưa playlist vào JW Player:
Code như sau:
allowfullscreen="true">
Bạn sẽ thấy ở code này tớ đặt chiều cao là 390.
Nó sẽ bằng tổng chiều cao ảnh hiển thị (300) + chiều cao của controlbar (30) + chiều cao của playlist (60)
Hình minh hoạ:
- file=http://hpbox.425mb.com/media/jwplayer/playlist.xml: khai báo đường dẫn của file playlist.xml
- playlist=bottom: đặt playplist hiển thị phía dưới controlbar, nếu bạn thích hiển thị bên phải, hãy đổi bottom thành right
- playlistsize=60: đặt chiều cao của playlist, bạn có thể thay đổi tùy ý.
Nếu
bạn muốn chơi các bài ngẫu nhiên không theo thứ tự thì khai báo thêm
biến: shuffle=1 vào trực tiếp đoạn code trên hoặc đưa vào file
config.xml
7. Bonus:
Sau khi đọc hết 6 phần trên, chắc các bạn cũng hoa cả mắt (mà mình viết tới đây cũng oải quá trời luôn ) Giờ là bonus cho các bạn:
*
Bonus 1:Khi bạn download jwplayer từ trang chủ để dùng và trong các
code minh họa của tớ ở các phần trên, nếu bạn copy và test ở blog của
bạn, mỗi lần chơi nhạc hay video bạn sẽ thấy 1 logo mang chữ jwplayer
hiện lên ở góc trái phía dưới vài giây rồi mới biến mất
nhưng ở blog của tớ nếu bạn bấm nút chơi lại không có cái logo đó hiện ra Đơn giản là vì tớ đã hack file player.swf và cho cái logo đó biến mất vĩnh viễn luôn các chức năng khác của JW Player vẫn nguyên si không có gì thay đổi.
Nếu bạn thích dùng thì có thể dowload nó ở đây:
* Bonus 2:
1 host fee tốt cho bạn: http://www.425mb.com
1 website lưu trữ cho link trực tiếp: http://www.boxstr.com
Nếu bạn muốn kiếm thêm, hãy vào trang sau: http://freewebspace.net
* Bonus 3:
Đối
với Yahoo Plus, bạn vẫn dùng được JW Player nhưng chỉ có thể sử dụng
như phần hướng dẫn 3 & 4 mà thôi, còn không áp dụng được theo hướng
dẫn ở phần 5 & 6. Thêm một yêu cầu nữa là file flashplayer.swf bắt
buộc bạn phải upload lên http://imageshack.us , lấy link rồi thay vào
các code trên mới có thể chèn vào Yahoo Plus.
Đây là link tớ upload lên imageshack.us cho các bạn, không còn logo của JW Player : http://img40.imageshack.us/img40/7783/jwplayerz.swf
Gỡ bỏ logo của JW Player v.5
Khi bạn dùng JW Player thì nó hay hiện lên cái logo ở góc trái vài giây rồi mới biến mất
Hôm
nay viết tut giúp bạn nào muốn gỡ bỏ logo của JW Player. Tất nhiên để
làm được thì bạn phải biết nghịch ngợm về Flash một chút và có đủ các
công cụ biên dịch từ mã nguồn thành file SWF.
Từ
bản 4 trở về trước thì logo được nhúng trực tiếp vào JW Player và có
thể hack luôn file SWF để bỏ đi. Nhưng tới phiên bản 5 trở lên, nó đã
thay đổi, logo không nhúng trực tiếp mà được load từ trang chủ của JW
Player thông qua code nên bạn phải lấy mã nguồn của nó về để nghịch thì
mới bỏ đi được.
Source code của phiên bản mới nhất 5.2 các bạn có thể lấy tại đây:
Chọn Download in other formats: Zip Archive
Vụ
biên dịch từ mã nguồn thành file SWF thì các bạn tự tìm hiểu và làm
theo hướng dẫn của nó ở cái file README.txt nằm trong file zip bạn vừa
tải về.
Bạn giải nén mã nguồn này và tìm file Logo.as trong thư mục View theo đường dẫn sau:
fl5\src\com\longtailvideo\jwplayer\view\Logo.as
Mở file logo.as bằng Notepad chẳng hạn, bạn tìm đến đoạn code sau:
public class Logo extends MovieClip {
/** Configuration defaults **/
protected var defaults:Object = {
prefix: "http://l.longtailvideo.com/",
file: "logo.png",
link: "http://www.longtailvideo.com/players/jw-flv-player/",
margin: 8,
out: 0.5,
over: 1,
timeout: 3,
hide: "true",
position: "bottom-left"
}
Đây
là đoạn code dành cho logo của JW Player v.5. Bạn để ý 2 dòng code tớ
bôi màu đỏ đó chính là đoạn code hiển thị cái logo ngứa mắt . Giờ bạn chỉ việc xóa tên file logo và đường link nó đi như thế này:
public class Logo extends MovieClip {
/** Configuration defaults **/
protected var defaults:Object = {
prefix: "http://l.longtailvideo.com/",
file: "",
link: "",
margin: 8,
out: 0.5,
over: 1,
timeout: 3,
hide: "true",
position: "bottom-left"
}
Save file logo.as rồi sau đó bạn biên dịch thành file SWF là xong.
Bạn nhớ làm đúng, đừng có thay đổi gì khác nếu không sẽ báo lỗi trong quá trình biên dịch đó.
Good luck!
©http://huypham.tk