احتمالاً اضافه کردن کنترل MCI (Microsoft Multimedia Control) به پروژه رو می دونید.
اول این کنترل رو به پروژه اضافه کنید. اگر اصلاً نمی دونید این کنترل چیست و چگونه کار می کند این قسمت رو بخونید و گرنه به انتهای این پست بروید:
برای اضافه کردن کنترل MCI به پروژه کلیدهای ترکیبی Ctrl+T را فشار دهید تا پنجره Components باز شود. در این پنجره تب Controls را انتخاب کنید. در این تب در لیست موجود به دنبال گزینه Microsoft Multimedia Control 6.0 بگردید و مربع کنار آنرا تیک دار کنید. سپس بر روی OK کلیک کنید. اکنون این کنترل به جعبه ابزار اضافه می شود. کنترل را بر روی فرم قرار دهید.
برای کار با این کنترل ابتدا باید نام فایلی که می خواهید باز شود را انتخاب کنید. این کنترل از فایل با پسوند Wav، AVI و چند فرمت دیگر پشتیبانی می کند. برای تعیین نام و مسیر فایل مورد نظر، خصیصه FileName این کنترل را برابر مسیر کامل فایل مورد نظر قرار دهید. مثلاً اگر اسم کنترل را به MCI تغییر دهید و شما یک فایل با نام Test.Wav در پوشه Test درایو C خود داشته باشید، از دستور زیر برای تعیین نام فایل مورد نظر استفاده کنید:
کد:
[LEFT][LTR]MCI.FileName = "C:\Test\Test.Wav"[/LTR][/LEFT]
پس از تعیین فایل باید آنرا باز کنید. باز کردن یک فایل توسط این کنترل توسط دستور Command و به صورت زیر انجام می گیرد:
کد:
[LEFT][LTR]MCI.Command = "open"[/LTR][/LEFT]
پس از باز شدن فایل می توانید هر کاری که خواستید با این فایل انجام دهید.
برای شروع خواندن و یا نمایش فایل انتخاب شده از دستور Play به صورت زیر استفاده می شود:
کد:
[LEFT][LTR]MCI.Command = "play"[/LTR][/LEFT]
برای جلو یا عقب کردن باید ابتدا تعداد فریمهایی را که می خواهید جلو یا عقب کنید، تعیین کنید. (توضیح مختصر: هر فایل صوتی یا تصویری از تعدادی فریم تشکیل شده است. وقتی یک برنامه این فایلها را می خواند، در واقع شروع به خواندن فریمها پشت سرهم می کند. برای جلو یا عقب شدن نیز به فریم خاصی می رود. در مورد فایلهای تصویری، آنچه به شما نمایش داده می شود یکسری تصویر است که با سرعت نسبتاً زیادی گرفته شده اند و شما تصور می کنید که متحرک اند. به هر یک از ای تصاویر یک فریم در فایلهای تصویری گویند. برای اطلاعات بیشتر در این مورد به کتابهای تخصصی در این زمینه مراجعه کنید.) برای تعیین گام حرکت بر حسب فریم از دستور زیر استفاده کنید:
کد:
[LEFT][LTR]MCI.Frames = Value[/LTR][/LEFT]
Value در این دستور همان گام حرکت بر حسب فریم است یعنی تعداد فریمهایی که می خواهید جلو یا عقب کنید.
برای جلو رفتن از دستور زیر استفاده کنید:
کد:
[LEFT][LTR]MCI.Command = "step"[/LTR][/LEFT]
برای عقب رفتن از دستور زیر استفاده کنید:
کد:
[LEFT][LTR]MCI.Command = "back"[/LTR][/LEFT]
توجه داشته باشید که پس از استفاده از این دستور، خواندن فایل متوقف می شود و می توانید از دستور Play برای خواندن ادامه کار استفاده کنید.
مثال:
برنامه ای که در زیر آورده شده است، فایل مورد نظر کاربر را نمایش می دهد.
به پروژه این موارد را اضافه کنید: یک MCI به فرم اضافه کنید و نام آنرا به MCI تغییر دهید. یک کنترل Picture به پروژه اضافه کنید و نام آنرا به Pic تغییر دهید. دو Command Button به پروژه اضافه کنید و نام آنها را به CmdBack و CmdStep تغییر دهید. یک TextBox نیز اضافه کنید و نام آنرا به Txt تغییر دهید. کد زیر را در قسمت کد فرم مورد نظر وارد کنید:
کد:
[LEFT][LTR]Option Explicit
Private Sub CmdBack_Click()
MCI.Command = "back"
MCI.Command = "play"
End Sub
Private Sub CmdStep_Click()
MCI.Command = "step"
MCI.Command = "play"
End Sub
Private Sub Form_Initialize()
With MCI
.hWndDisplay = Pic.hWnd
.Visible = False
.Frames = 1
End With
CmdBack.Caption = "Back"
CmdStep.Caption = "Step"
Txt.Text = ""
Txt.Alignment = 2 'Center
End Sub
Private Sub Form_Load()
MCI.FileName = InputBox("Please enter path of Music/Audio/Move file:", "Get File Path")
MCI.Command = "open"
MCI.Command = "play"
End Sub
Private Sub Txt_Change()
MCI.Frames = Val(Txt.Text)
End Sub[/LTR][/LEFT]
همین پروژه رو اینجا گذاشتم:
مشاهده پیوست MCI.rar
تنها دستوری که از این پروژه توضیح داده نشده دستور .hWndDisplay = Pic.hWnd هست که همین رو بدونید که برای نمایش تصویر فایل تصویری توی یه کنترل Picture این دستور به کار میره. اگر توضیح خواستید بگید.
در ضمن برای آشنایی بیشتر و کاملتر با MCI به کتاب آموزش گام به گام ویژوال بیسیک تالیف عین الله جعفر نژاد قمی مراجعه کنید. ( هر چند که خوب نیست ولی بهتر از کتابهای دیگه توی بازاره!!!)