ThiÕt kÕ ch¬ng tr×nh duyÖt file
©m thanh
b»ng Visual
Basic
(Sö dông MediaPlayer
6.x cña Windows)
Xem bai viet bang font Unicode
MediaPlayer cña Windows tõ version 6.x trë ®i cã thÓ player ®îc rÊt nhiÒu d¹ng thøc tËp tin Multimedia kh¸c nhau nh: .avi, .asf, .asx, .rmi, .wav ; .ra, .ram, .rm, .rmm ; .mpg, .mpeg, .m1v, .mp2, .mpa, .mpe ; .mid, .rmi ; .qt, .aif, .aifc, .aiff, .mov ; .au, .snd ... ChÊt lîng còng ®îc c¶i thiÖn rÊt râ rÖt so víi c¸c phiªn b¶n tríc.
NÕu b¹n ®ang sö dông Windows 98 th× MediaPlayer ®· s½n sµng, nÕu dïng Windows 95, 97 b¹n buéc ph¶i cµi ®Æt bæ sung ®Ó lªn ®êi MediaPlayer cña m×nh. B¹n cã thÓ t×m bé n©ng cÊp trªn c¸c CDROM phÇn mÒm hay n»m chung trong bé Internet Explorer 4.01 SP2.
C¸c file multimedia hiÖn nµy trµn ngËp trªn Internet, CDROM, rÊt nhiÒu. §Æc biÖt lµ MP3 & Midi, 2 lo¹i file nµy rÊt thÞnh hµnh vµ ®ang ®îc a chuéng.
C¸i g× nhiÒu còng g©y nªn ý tëng (nãi dóng h¬n lµ sinh tËt). MÆc dï chØ cÇn double click lªn file Mp3 hay Midi trong mét tr×nh qu¶n lý file lµ cã thÓ Play ®îc mét c¸ch dÔ dµng nhê MediaPlayer cña Windows nhng c¸i g× cña riªng m×nh míi kho¸i.
ChÝnh v× vËy trong bµi viÕt nµy t«i xin m¹n phÐp híng dÉn c¸c b¹n tù thiÕt kÕ mét MediaPlayer rÊt tiÖn dông vµ ®Ó dµnh lµm cña riªng. Tuy nhiªn nãi cña riªng kh«ng ph¶i lµ tù lµm hÕt mµ chóng ta ph¶i dïng mét b¶n sao cña MediaPlayer trong ch¬ng tr×nh.
Kh¸i qu¸t vÒ ch¬ng tr×nh
Chóng ta sÏ thiÕt kÕ chong tr×nh cã giao diÖn nh sau:

§Çu tiªn ngêi dïngêi chän æ ®Üa, th môc cã chøa c¸c file Multimedia (thÝ dô lµ file Midi). KÕ ®Õn nhÊn nót Play hoÆc double click trªn tªn file cÇn ph¸t ®Ó nghe nh¹c.
Ngoµi ra cßn cã c¸c nót Help, Author, Exit
PhÝa díi lµ mét MediaPlayer ®îc nhóng vµo ch¬ng tr×nh, cã thÓ ®iÒu chØnh c¸c chøc n¨ng nh mét ch¬ng tr×nh riªng biÖt (b¹n cã thÓ right click ®Ó më menu t¾t quen thuéc nh khi dïng MediaPlayer), ë cuèi cña cöa sæ cã dßng th«ng b¸o tªn file & ®êng dÉn ®ang Play.

C¸c x¸c lËp trong hép tho¹i Options cña MediaPlayer
PhÝa díi cña hép chän th môc cã mét Text box dïng ®Ó läc file. C¸c lo¹i file nµy ng¨n c¸ch bëi dÊu chÊm ph¶y ";". ThÝ du nh b¹n muèn läc c¸c file MP3 & MIDI th× gâ vµo: *.mp3;*.mid
Còng lu ý thªm lµ: nÕu nh trong hép liÖt kª tªn file kh«ng cã file nµo, th× nót Play bÞ v« hiÖu ho¸ (Enabled=False). ChØ khi nµo cã file nót Play míi cã t¸c dông.
ThiÕt kÕ giao diÖn
B¹n h·y khëi ®éng Visual Basic vµ b¾t tay vµo viÖc t¹o d¸ng cho øng dông cña m×nh. C¸ch bè trÝ c¸c Control trªn form tïy theo ý mçi ngêi, riªng t«i, t«i tr×nh bµy nh sau:

C¸c thuéc tÝnh & Caption cña c¸c Control trong ch¬ng tr×nh:
FORM
Form1.caption = "MediaPlayer - Browser"
Form1.BorderStyle = 1-Fixed Single
Form1.Minbutton=True
TEXTBOX/LABELBOX
Text1.text="*.mid;*.mp3"
Label1.caption=""
COMMAND BUTTON
cmdPlay.caption="&Play"
cmdPlay.enabled=False
cmdHelp.caption="&Help"
cmdAuthor.caption="&Author"
cmdExit.caption="&Exit"
Trªn thanh Toolbox cña Visual Basic kh«ng cã ®èi tîng MediaPlayer. B¹n ph¶i dïng mét Custom Control ®Ó thªm ®èi tîng ®ã vµo.
NhÊn CTRL - T. Trong hép tho¹i Components chän Windows MediaPlayer (thêng ë cuèi danh s¸ch), Click nót OK

§èi tîng MediaPlayer sÏ ®îc thªm vµo Toolbox, viÖc cßn l¹i, chØ cÇn vÏ nã lªn form, ®Æt ë vÞ trÝ thÝch hîp (nã cã tªn mÆc nhiªn lµ MediaPlayer1)
ViÕt Code
§Çu tiªn b¹n cÇn cho bé 3 control: Drive1, Dir1, File1 ho¹t ®éng. H·y gâ ®o¹n Code sau ®©y ®Ó cho chóng "hiÓu nhau"
Private Sub Dir1_Change()
File1.Path = Dir1.Path
If File1.ListCount = 0 Then
'KiÓm tra xem
cã file nµo trong listbox File1 cha
cmdPlay.Enabled = False
'NÕu
cha cã th× v« hiÖu nót Play
Else
cmdPlay.Enabled = True
'NÕu
cã råi th× cho hiÖu lùc nót Play
End If
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Double click lªn nót Play vµ viÕt
Private Sub Command1_Click()
MediaPlayer1.filename = Dir1.Path & "\"
_
& File1.List(File1.ListIndex)
Label1.Caption = MediaPlayer1.filename
End Sub
NÕu thuéc tÝnh AutoStart cña MediaPlayer ®îc g¸n b»ng True. MediaPlayer sÏ tù ®éng Play nÕu b¹n truyÒn cho thuéc tÝnh FileName cña nã mét chuçi lµ ®êng dÉn ®Õn file cÇn Play. Khi thuéc tÝnh FileName lµ rçng, nã sÏ ngõng.
ë ®o¹n Code trªn t«i ®· ghÐp nèi c¸c thuéc tÝnh cña Drive1, Dir1 & File1 ®Ó chØ ra file cÇn Play. §o¹n code sÏ gÆp lçi khi c¸c file cÇn Play n»m ngoµi th môc gèc, b¹n h·y tù hoµn chØnh lÊy b»ng hµm IIF() hay c©u lÖnh IF
Dßng thø 2 dïng ®Ó hiÓn thÞ ®êng dÉn file ®ang Play trong Labelbox ë cuèi form.
NÕu muèn khi ngêi dïng Double Click lªn tªn file trong danh s¸ch file th× MediaPlayer sÏ Play file ®ã, b¹n chØ cÇn lµm nh sau:
Private Sub File1_DblClick()
cmdPlay_Click
End Sub
§Ó kh¶ n¨ng läc (Pattern) cña File1 ho¹t ®éng theo néi dung trong Textbox (Text1). B¹n cÇn g¸n c¸c chuçi trong Textbox do ngêi dïng gâ vµo mçi khi cã sù thay ®æi (thuéc tÝnh Change cña Textbox).
Private Sub Text1_Change()
File1.Pattern = Trim(Text1)
End Sub
§ång thêi lóc ch¬ng tr×nh khëi ®éng b¹n còng ph¶i g¸n néi dung trong Textbox cho thuéc tÝnh Pattern cña File1
Private Sub Form_Load()
Text1_Change
End Sub
MediaPlayer cßn cã mét thuéc tÝnh tªn lµ PlayCount - Sè lÇn ph¸t l¹i mét file nh¹c, b¹n h·y g¸n cho nã mét sè thÝch hîp trong khi thiÕt kÕ ch¬ng tr×nh.
Kh¶ n¨ng cña MediaPlayer cßn tïy thuéc vµo MediaPlayer ®ang sö dông trong Windows cña b¹n.
VËy lµ xong, mét ch¬ng tr×nh duþÖt file ©m thanh, thËt lµ qu¸ ®¬n gi¶n ph¶i kh«ng b¹n :-)
Thay lêi kÕt
B©y giê b¹n cã thÓ dÞch ra file exe, ®em tÆng cho b¹n bÌ "lµm kû niÖm". Nhí chÐp thªm c¸c file cÇn thiÕt cho ch¬ng tr×nh nhÐ. MSDXM.OCX lµ file chøa Custom Control MediaPlayer ®· sö dông trong ch¬ng tr×nh. H·y nÐn l¹i cho chóng thËt mi nhon tríc khi chÐp ra ®Üa mÒm hay gëi kÌm theo E-mail.
Trªn ®©y chØ lµ mét ch¬ng tr×nh rÊt ®¬n gi¶n, nhng tÝnh n¨ng cã nã th× ®¸ng kh©m phôc ph¶i kh«ng b¹n. Cßn l¹i vµi chi tiÕt kh¸c b¹n cã thÓ tù m×nh lµm lÊy theo ý thÝch. B¹n cã thÓ thªm vµi tÝnh n¨ng n÷a cho ch¬ng tr×nh trë nªn ®a dông, thÝ dô nh: Play c¸c file Video, tù ®éng Play mét lo¹t c¸c file...
Chóc b¹n thµnh c«ng vµ gÆp thËt nhiÒu may m¾n trong n¨m míi nµy.
Thiªn §¨ng, thdang@tlnet.cm.vn
thaìng hai 03, 2002 07:34:58 CH
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com