PDA

View Full Version : سوال: اجرای یک track موسیقی



aliasadi1
جمعه 01 شهریور 1392, 10:03 صبح
با سلام و خسته نباشید.سوال بنده این است که به چه صورت می توانم در ویژوال بیسیک 6 فرمی را طراحی کنم که بلافاصله پس از اجرای آن (هم زمان) یک track موسیقی اجرا شود؟ منظور دقیقترم این که بدون کلیک کردن بر روی دکمه ی خاصی این کار انجام شود و تا حد مکان از برنامه ی دیگری مثلا مثل برنامه یWindows Media Player را برای پخش موسیقی باز نکند. و به صورت مستقل این کار را انجام دهد.اگر برایتان مقدور می باشد کمکم کنید .با تشکر

nimar9
جمعه 01 شهریور 1392, 11:39 صبح
سلام می تونید از کامپوننت WindowsMediaPlayer استفاده کنید برنامه ای باز نمیشه فقط به فرمتون اضافه میشه اگر می خوای قابل رویت باشه باید از قسمت Properties مدیا پلیر کاستوم رو انتخاب می کنی و قسمت Control Layout روی InVisable قرار بده. از اونجا تعقییرات رو هم می تونی انجام بدی.

Private Sub Form_Load()
'برای انتخاب آهنگتون
WindowsMediaPlayer1.URL = "C:\Ahang.mp3"
'برای پلی
WindowsMediaPlayer1.Controls.play
'برای تعداد دفعات تکرار آهنگ
WindowsMediaPlayer1.settings.playCount = 1
End Sub


موفق باشید

رامین مرادی
جمعه 01 شهریور 1392, 12:32 عصر
شماميتونيد با استفاده از تابع api يك فايل wav رو توي برنامتون پخش كنيد البته بايد كدتون رو توي رويداد لود فرم بزاريد تا وقتي فرم باز شد كد شما هم پخش بشه . اين تابع رو هم اگه تو سايت جستجو بكني پيدا ميكني

رامین مرادی
جمعه 01 شهریور 1392, 12:40 عصر
استفاده از تابع SndPlaySound
اين تابع API امكان پخش فايلهاي صوتي را در برنامه كاربردي فراهم مي سازد.

پارامتر هاي تابع

SND_ASYNC
تابع بعد از پخش فايل فورا باز مي گردد و فايل به صورت آسنكرون پخش مي شود.

SND_LOOP
با پارامتر SND_ASYNC استفاده مي شود . پخش فايل بصورت دوره اي تا زمان فراخواني تابع SndPlaysound با پارامتر اول برار Null پخش مي شود.

SND_MEMORY
فايل پخش شده در حافظه ذخيره شده است.

SND_NODEFAULT
اگر فايل مشخص شده پيدا نشد تابع بر مي گردد و صوت پيش فرض پخش مي شود.

SND_NOSTOP
اگر فايل شروع به پخش كرده باشد تابع بدون پخش صورت مشخص شده بر مي گردد.

SND_SYNC
تابع تا هنگامي كه پخش فايل صوتي تمام نشده بر نمي گردد.

برنامه نمونه


Private Declare Function SndPlaysound Lib "Winmm.dll" alias "sndplaysoundA" (Byval Ipszsoundnamd as string , Byval uFlags as long )as long

Const SND_SYNC = &H0
Const SND_NODEFAUT = &H2


کد: Private Sub form1_load() Dim X as Long X = SndPlaySound(C:\Windows\Media\tada.wave", SND_SYNC Or SND_NODEFAULT ) END SUB
بعد از اجراي برنامه هنگام لود فرم شروع به پخشآهنگ مي كند البته مسير آهنگ رو تعويض كنيد.

اگه فايلتون ام پي 3 بود بايد كانورتش كنيد يا با روشي كه تو پست 2 جواب دادن استفاده كرد.

matriks
جمعه 01 شهریور 1392, 13:22 عصر
تابع جواب نمیده به SND_NODEFAULT گیر میده

mmssoft
جمعه 01 شهریور 1392, 14:19 عصر
این کامپوننت رو من چند مدت پیش نوشتم، حجمش خیلی کمه و خیلی ساده هستش (iSoundPlayer v1.0.3) ، واسه پخش mp3,mid,wav,wma + مدت زمان آهنگ و ویژگی isPlaying که مشخص میکنه که آهنگ در حال پخش هست یا نه (خیلی میتونه کاربردی باشه)...

برای اینکه هنگام نمایش فرم یه آهنگ پخش بشه باید این کد رو توی Form_Load بذارین (MusicAddress آدرس فایل آهنگ تون هست) :

SoundPlayer1.sndPlay ("MusicAddress")

aliasadi1
جمعه 01 شهریور 1392, 18:49 عصر
با سپاس از دوستان بزگوار فعلاً می خواهم تست کنم انشاء الله که درست شود.

aliasadi1
جمعه 01 شهریور 1392, 19:38 عصر
متاسفانه هیچکدام اجرا نشدند کمک کنید؟

mmssoft
جمعه 01 شهریور 1392, 20:45 عصر
ممنون اجرا شد

چه جالب! :لبخند: بالاخره با کدوم روش اجرا شد؟؟ !

مهرداد صفا
دوشنبه 11 شهریور 1392, 22:31 عصر
با سلام.

private sub Form_load()
dim mp
set mp=CreateObject("MediaPlayer.MediaPlayer")
mp.AutoStart=true
mp.Open("c:\myfile.mp3")
end sub