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

thdang@tlnet.com.vn

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 nh­ng 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Õ ch­ong 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 l­u ý 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 ch­a

        cmdPlay.Enabled = False
        '
NÕu ch­a 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, nh­ng 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