PDA

View Full Version : سوال: پخش mp3 بدون نیاز به کامپوننت



masoud.t123
شنبه 05 بهمن 1387, 19:20 عصر
با عرض سلام خدمت اساتید

من می خواهم بدون نیاز به کنترل و به وسیله کد فایل mp3 را پخش کنم.
پخش فایل wav کاری نداره ولی mp3 رو در سایت هم جستجو کردم نبود.

از دوستان تقاضا دارم پاسخ دهند.
با تشکر... .

sosono
شنبه 05 بهمن 1387, 20:17 عصر
منتازه واردم ولی اینو امتحان بکن:

Dim MyProcess AsNew Process
"MyProcess.StartInfo.FileName = "C:\Music 1.MP3
MyProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
( ) MyProcess.Start

nokhodsiah2001
یک شنبه 06 بهمن 1387, 12:44 عصر
سلام دوست عزیز

این نمونه رو نگاه کن

masoud.t123
یک شنبه 06 بهمن 1387, 14:07 عصر
منتازه واردم ولی اینو امتحان بکن:


Dim MyProcess AsNew Process
"MyProcess.StartInfo.FileName = "C:\Music 1.MP3
MyProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

( ) MyProcess.Start


با تشکر از جواب شما
ولی این کد فابل را جدا از برنامه اجرا می کند.من می خواهم فایل را کنترل کنم.

masoud.t123
یک شنبه 06 بهمن 1387, 14:10 عصر
سلام دوست عزیز

این نمونه رو نگاه کن


با سلام و تشکر
دوست عزیز برنامتان را دیدم. در این برنامه از کنترل استفاده شده بود که مد نظر من نیست.

من اجرای فایل را با کد میخواهم.

اگر بتوانید کمکم کنید ممنون می شوم.

masoud.t123
دوشنبه 07 بهمن 1387, 18:59 عصر
از دوستان کسی جواب این سوال رو نداره؟
خواهش می کنم اگر می دانید بگویید.

#target
دوشنبه 07 بهمن 1387, 19:56 عصر
از Refrence و کتابخانه های DirectX و Windows Media Player استفاده کن

masoud.t123
سه شنبه 08 بهمن 1387, 13:58 عصر
از Refrence و کتابخانه های DirectX و Windows Media Player استفاده کن

دوست عزیز همان طور که گفتم بدون کامپوننت می خواهم این کار را انجام دهم.

raravaice
سه شنبه 08 بهمن 1387, 14:08 عصر
دوست عزیز همان طور که گفتم بدون کامپوننت می خواهم این کار را انجام دهم.

اینجور که معلومه شما میخوای با فرمت mp3 یا همون MPEG آشنا بشی.

برای آشنایی با این Codec بگرد دنبال دست نویسهای Davis Pan`s با سر تیتر "A Tutorial on MPEG/Audio Compression"

و در صورتی که سورسی برای این کار نیاز داری میتونی از بازمتن Lame استفاده کنی.
http://lame.sourceforge.net

موفق باشی

#target
سه شنبه 08 بهمن 1387, 20:40 عصر
از کد (کتابخانه ) زیر که خود دات نت داره استفاده کن شاید بشه
System.Windows.Media.MediaPlayer

Inherits System.Windows.Media.Animation.Animatable
Member of System.Windows.Media

اگر نشد بهتره همون کنترل Windows Media Player رو از قسمت Com اضافه کنی وضعیت Visible رو False قرار بده حالا میتونی براحتی از طریق کد کنترلش کنی .

masoud.t123
چهارشنبه 09 بهمن 1387, 12:04 عصر
از دوستان کسی پخش mp3 با کد را نمی دونه؟؟

abi_sarab
چهارشنبه 09 بهمن 1387, 13:04 عصر
یه نمونه فایل برات میذارم.
ببین به دردت می خوره.

mostafaaa
چهارشنبه 09 بهمن 1387, 13:05 عصر
سلام دوست من
این چیزی که شما میخوای امکان نداره!
خوندن یه فایل صوتی مثل خوندن یه تکست که نیست تا با چندتا متد کارت راه بیفته، برای اینکه واقعا بخوای یه فایل صوتی مثل Mp3 رو بخونی همونطور که دوستمون گفتند باید اطلاعات جامعی در مورد Codec ها داشته باشی و کلی مسائل بغرنج مربوط به اونها و تبدیلاتشون رو درک کنی .
در ضمن بد نیست به سورس کلاس SoundPlayer مربوط به خود داتنت هم یه نگاهی بندازی دوست من.
حتما فکر میکنی توی این کلاس هم تمام کارها رو با کد انجام دادن یا اینکه شما وقتی از این کلاس برای پخش فایلهای Wav استفاده میکنی داری با کد اون فایلها رو پخش میکنی!! اگه اینجوریه کاملا در اشتباهی.
توی همین کلاس هم داره از API و DLL استفاده میشه....
در آخر اینکه دلیل اینکه نمیخواهید از Activex ها استفاده کنید چیه؟

masoud.t123
چهارشنبه 09 بهمن 1387, 21:41 عصر
سلام دوست من
این چیزی که شما میخوای امکان نداره!
خوندن یه فایل صوتی مثل خوندن یه تکست که نیست تا با چندتا متد کارت راه بیفته، برای اینکه واقعا بخوای یه فایل صوتی مثل Mp3 رو بخونی همونطور که دوستمون گفتند باید اطلاعات جامعی در مورد Codec ها داشته باشی و کلی مسائل بغرنج مربوط به اونها و تبدیلاتشون رو درک کنی .
در ضمن بد نیست به سورس کلاس SoundPlayer مربوط به خود داتنت هم یه نگاهی بندازی دوست من.
حتما فکر میکنی توی این کلاس هم تمام کارها رو با کد انجام دادن یا اینکه شما وقتی از این کلاس برای پخش فایلهای Wav استفاده میکنی داری با کد اون فایلها رو پخش میکنی!! اگه اینجوریه کاملا در اشتباهی.
توی همین کلاس هم داره از API و DLL استفاده میشه....
در آخر اینکه دلیل اینکه نمیخواهید از Activex ها استفاده کنید چیه؟



با عرض سلام خدمت mostafaaa و ممنون از راهنماییتان
راستش به خاطر مشکلاتی که activex ها در موقع نصب و رجیستر شدن ایجاد میکنند نمی خواهم از آنها استفاده کنم. البته اگر با api باشد جون هر ویندوزی دارد موردی ندارد
با تشکر فراوان از پاسختان شما با استفاده از api می توان mp3 پخش کرد؟

mostafaaa
پنج شنبه 10 بهمن 1387, 11:45 صبح
سلام دوست من
بله میشه . چرا نشه؟
من یه کلاس خیلی ساده واسه اینکه ایده کار دست بیاد برات نوشتم. دیگه تکمیلش با خودته! البته راه دیگه ای هم برای استفاده از این کتابخانه وجود داره که شاید بعدا فرصت کردم به اون روش هم یه کلاس نوشتم . الا ایحال :

Public Class MP3Player
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Integer, _
ByVal hwndCallback As Integer) As Integer
Public Sub Open(ByVal FileName As String)
mciSendString("open " & Chr(34) + FileName + Chr(34) & " alias myDevice", Nothing, 0, 0)
End Sub
Public Sub Close()
mciSendString("close myDevice", Nothing, 0, 0)
End Sub
Public Sub Play()
mciSendString("play myDevice", Nothing, 0, 0)
End Sub
Public Sub [Stop]()
mciSendString("Stop myDevice", Nothing, 0, 0)
End Sub
Public Sub Repeat()
mciSendString("play myDevice repeat", Nothing, 0, 0)
End Sub
Public Sub Pause()
mciSendString("pause myDevice", Nothing, 0, 0)
End Sub
Public Sub [Resume]()
mciSendString("resume myDevice", Nothing, 0, 0)
End Sub
End Class


یا علی