PDA

View Full Version : انتخاب و پخش موسیقی



man_iran
دوشنبه 01 مرداد 1386, 21:13 عصر
دوستان عزیز من می خواهم در فرم برنامه، امکانی بزارم که کاربر بتواند یک موسیقی را انتخاب کرده و آن را پخش کند و با دیگر امکانات برنامه کار کند.
خب برای این کار از چه کنترل و دستوراتی باید استفاده کنم؟
لطف کنید و به صورت کد راهنمایی کنید...
ممنون

man_iran
سه شنبه 02 مرداد 1386, 02:15 صبح
اگر سوالم واضح نیست و متوجه منظورم نمی شید بگید تا بیشتر توضیح بدم.
اگر لطف کنید و کمی سریع تر راهنمایی کنید ممنون می شم.

MH2538
سه شنبه 02 مرداد 1386, 06:05 صبح
سلام
می تونی یه مدیا پلیر تو فرمت بزاری و اون رو مخفی کنی و با یک لیست آهنگ های در حال پخش رو کنترا کنی یا می تونی مثل قدیم ها (نه خیلی قدیم) از MCI32 استفاده کنی.

man_iran
سه شنبه 02 مرداد 1386, 10:41 صبح
سلام
می تونی یه مدیا پلیر تو فرمت بزاری و اون رو مخفی کنی و با یک لیست آهنگ های در حال پخش رو کنترا کنی یا می تونی مثل قدیم ها (نه خیلی قدیم) از MCI32 استفاده کنی.

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

man_iran
سه شنبه 02 مرداد 1386, 21:28 عصر
کسی نیست در این باره من را راهنمایی کند ؟
توضیحات بیشتر :
برنامه ای می خواهم که در آن به کاربر این امکان را بدهد که آهنگی را انتخاب کرده و به آن گوش دهد. (آهنگ ها از قبل به صورت پیش فرض قرار گرفته شده باشند.)

hdv212
سه شنبه 02 مرداد 1386, 23:24 عصر
man_iran تا اونجایی که یادم هست، باید directx sdk رو نصب کنی و فضای نام microsoft.directx.audioVideoPlayback رو به پروژه ت اضافه کنی و از آبجکتهاش برای پخش فایل صوتی استفاده کنی(ببخشید اسم کلاسشو یادم نیست،چون directx روی دستگاهم نصب نیست وگرنه برات یه نمونه کد میذاشتم)
امیدوارم مشکلت حل بشه.

man_iran
سه شنبه 02 مرداد 1386, 23:52 عصر
man_iran تا اونجایی که یادم هست، باید directx sdk رو نصب کنی و فضای نام microsoft.directx.audioVideoPlayback رو به پروژه ت اضافه کنی و از آبجکتهاش برای پخش فایل صوتی استفاده کنی(ببخشید اسم کلاسشو یادم نیست،چون directx روی دستگاهم نصب نیست وگرنه برات یه نمونه کد میذاشتم)
امیدوارم مشکلت حل بشه.

یعنی حتما باید برنامه ای بر روی سیستم نصب کنم؟ خود برنامه سی شارپ چنین امکانی نداره؟
ممنون می شم اگر راه راحت تری اگر می دانید به من هم بگید...

MH2538
چهارشنبه 03 مرداد 1386, 06:34 صبح
سلام
برای کاری که شما نیاز داری نیازی به نصب directx sdk نیست.
زمانی نیاز به نصب directx sdk داریکه بخوای مارهای پیشرفته تر (مثل تلفیق کانال های صوتی یا ترکیب چند صدا و کنترا اونها بصورت همزمان و خیلی کارهای دیگه بخوای انجام بدی)
برای کار شما فکر کنم آدرس های زیر خیلی بدرد بخور باشه. ضمن اینکه نمونه برنامه هم توشون هست.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=400563&SiteID=1
http://www.csharphelp.com/archives/archive264.html

من شخصاً MCI رو پیشنهاد می کنم.

http://www.csharphelp.com/archives/archive264.html
http://dotnet.org.za/deon/articles/3057.aspx

sa.fatemi.67
پنج شنبه 15 مهر 1389, 23:38 عصر
سلام

استفاده از Microsoft.DirectX.AudioVideoPlayback به نظرم راحت و جالب و کارآمد باید باشه

فقط یه مسئله و اون اینکه من توی یه برنامه ساده خواستم از این روش استفاده کنم
ابتدا یه آبجکت از Audio ساختم که آدرس فایل را هم همون جا معرفی کردم و بعد متد Play را فراخوانی کردم
زمان اجرا وقتی به دستور ایجاد object می رسه یه runtime error می ده که اگه باز هم دکمه اجرای VS را بزنم به اجرا ادامه می ده و بدون مشکلی play را انجام می ده
درواقع می شه گفت مثه یه Warning هست با متن زیر

DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.290 2.0__31bf3856ad364e35\Microsoft.DirectX.dll' is attempting managed execution inside OS Loader lock. Do not attempt to run managed code inside a DllMain or image initialization function since doing so can cause the application to hang.

دوستان هرکی راه حلی برای این مسئله داره بگه

البته اینم بگم اگه فایل اجرایی برنامه از پوشه Debug را اجرا کنید این پیغام را هم نمایش نمی ده

sa.fatemi.67
جمعه 16 مهر 1389, 00:50 صبح
قابل توجه دوستانی که مثل من به این مشکل برخوردن (مشکلی که توی پاسخ قبلی خودم بهش اشاره کردم)
برای رفع مشکلم سرچ می کردم که توی این صفحه (http://www.pcreview.co.uk/forums/thread-3741011.php)به این راه حل رسیدم
جالب بود
راه حل :
از منوی Debug نرم افزار VS گزینه Exceptions... را انتخاب کنید
از پنجره ای که باز می شده قسمت Managed Debugging Assistants را باز کنید و مقابل گزینه Loader Lock تیک مربوط به Thrown را بردارید

امیدوارم به درد بخور باشه

البته بگم این راه حل مربوط به زمانی که runtime error قابل رد شدن باشه
دقیقا حالتی که توی پاسخ قبلی نوشتم
:لبخندساده:

group45
جمعه 16 مهر 1389, 00:51 صبح
سلام جواب شما در لینک زیر است

http://barnamenevis.org/forum/showthread.php?t=247876

meisam3322
یک شنبه 15 آبان 1390, 19:37 عصر
سلام، از کنترل ویندوز مدیا پلیر استفاده کن، خیلی هم امکاناتش زیاده