PDA

View Full Version : سوال: پخش قسمتی از یک mp3



asmasm
پنج شنبه 26 فروردین 1389, 20:38 عصر
سلام بچه ها
چطور می شود فقط یک قسمت از یک mp3 را در یک فرم پخش کرد
مثلا یک اهنک mp3 پنج دقیقه ای را در نظر بگیرید
ما می خواهیم از تایم 3 دقیقه تا 4 دقیقه را پخش کنیم ودر قسمت دیگه از 1 دقیقه تا 4 دقیقه

پیشا پیش از راهنمایتان ممنونم :تشویق:

ghabil
پنج شنبه 26 فروردین 1389, 21:36 عصر
آخه بستگی به این داره که داری از چه پلیری استفاده میکنی، ولی تقریبا همه پلیرها امکان ست کردن CurrentPosition رو دارند و خوب بعد میتونی بگی که چند ثانیه پخش کنه و بعد متوقف بشه، هرچند که فکر میکنم اکثر پلیرها کلا یک تابع دارند که میگی از کجا شروع کنه و چقدر پخش کنه.

asmasm
جمعه 27 فروردین 1389, 11:08 صبح
مرسی از جواب

من تو یک فرم می خواهم 3 عدد button بزارم که با فشار دادن هر کدام یک قسمت از این mp3 پخش شود ونمی خواهم این پلیر دیده شود. حالا با هر پلیری :گیج:
اگه یک تکه کد یا برنامه برای راهنمایی بزارید ممنون میشم

Marzieh_A
جمعه 27 فروردین 1389, 12:26 عصر
کد زیر کمکت می کنه.
فقط چیزی که هست اینه که من با مدت فایل کار کردم و دکمه اول position رو به یک سوم می بره، دکمه دوم position رو به یک چهارم می بره و دکمه سوم position رو به سه چهارم می بره.
شما با تغییر اینا می تونی قسمت مورد نظرتون رو play کنی.
برای قطع کردن هم می تونی از یه تایمر استفاده کنی.

mohammad meta
جمعه 27 فروردین 1389, 13:01 عصر
سلام شما می توانید player را به فرم اضافه کنید .و visible آن را false کنید .و در درون دکمه های خود توابع player(playe pause ,.. ) را فراخوانی کنید

alireza_s_84
جمعه 27 فروردین 1389, 17:34 عصر
تمامی راه حل هایی که دوستان گفتن راه حلهایی ناپسند هستند چرا که استفاده از یک کنترل تها برای پخش یک فایل و مخفی کردن اون اصلا وجه ی خوبی نداره بخصوص در زبانی خوش تذکیب مثل #C برای اینکار کتابخانه ی در دات نت جهت کار با فایلهای صوتی و تصویری(پخش و مدیریت Codeck ها) با قابیلت استفاده مستقیم از DirectX اضافه شده که در فضای نام Microsoft.DirectX.AudioVideoPlayback قرار داره برای اجرای یک فایل بصورت مقطعی میتونید بصورت زیر عمل کنید:


Audio audioPlayer = new Audio(@"F:\Full Album\Kourosh Yaghmaei\KABOOS\01.MP3");
audioPlayer.CurrentPosition = audioPlayer.SeekCurrentPosition(1, SeekPositionFlags.AbsolutePositioning);
audioPlayer.SeekStopPosition(4, SeekPositionFlags.AbsolutePositioning);
audioPlayer.Play();

نکته: برای استفاده از این فضای نام باید کتابخانه DirectX روی کامپیوتر شما نصب باشه میتونید اون رو از سایت مایکروسافت دانلود کنید.
موفق باشید

ghabil
جمعه 27 فروردین 1389, 23:03 عصر
دوست عزیز اینکه گفتی چه ربطی به خوش ساختی زبان C# داره؟ تو میخوای کل SDKی دایرکت اکس رو دانلود کنی که از یک کلاس Playerش استفاده کنی، خوب ویندوز مدیا پلیر که آماده نصب شده روی همه کامپیوترها هست! اونم با اونهمه امکانات. نیازی هم به نصب روی هر کلاینت نداره.

alireza_s_84
جمعه 27 فروردین 1389, 23:20 عصر
دوست عزیز اینکه گفتی چه ربطی به خوش ساختی زبان C#‎ داره؟
شما وقتی از کنترل اکتیو ایکس استفاده میکنی یک عدد dll ناقابل به پروژه تون اضافه میشه که در هنگام نصب نرم افزار این dll جار میزنه بقل فایل exe که من چی هستم!!!
بعدش شما یک کنترل به صفحه اضافه میکنی >> بعد مخفی میکنی >> بعد میای یک مقداری براش تعریف میکنی که از کجا شروع بشه >> کجا تموم بشه تا Stop بشه >> وقتی Stop شد با کنترل موجود توی حافظه چکار کنیم(هیچی ولش کن بیخیال باشه جاش خوبه) چون دات نت اصلا منابع کلاینت رو مصرف نمیکنه!!!>> نتیجه چه ربطی به خوش ساختی #C داره یک نکته ادبی علمی داره استفاده از افعال ربطی مانند(است و بود و شد و گردید و هست و نیست).

و میخوای کل SDKی دایرکت اکس رو دانلود کنی که از یک کلاس Playerش استفاده کنی، خوب ویندوز مدیا پلیر که آماده نصب شده روی همه کامپیوترها هست! اونم با اونهمه امکانات. نیازی هم به نصب روی هر کلاینت نداره.
اولا شما یکبار دانلود میکنی تا یه عمر هر برنامه ای خواستی وابسته با DirectX بنویسی ازش استفاده میکنی بعدشم حرف عجیبی میزنی برادر من «اونم با اونهمه امکانات. نیازی هم به نصب روی هر کلاینت نداره» !!! :متفکر::متفکر::متفکر:
این کتابخونه کامپایل میشه با دات نت مثل همه چارچوب دات نت و برای نصبش با همون چارچوب نصب میشه مطمئنا استفاده از FrameWork بسیار بهتر از یک کنترل com هست.
نکته فنی: بازم اگر نخوای چارچوب نصب کنی میتونی از توابع API استفاده کنی نه اینکه بیای یک کنترل com رو مخفی کنی و هی Play Stop کنی.
نکته نهایی: یک روش دیگه هم هست که استریم فایل رو با خودت دات نت بخونی بعد فایل رو اجرا کنی با خودت دات نت دیگه هیچی نمیخواد نصب کنی ولی باز میگم دارکت ایکس.
موفق باشید

asmasm
شنبه 28 فروردین 1389, 11:41 صبح
Audio audioPlayer = new Audio(@"F:\Full Album\Kourosh Yaghmaei\KABOOS\01.MP3");
audioPlayer.CurrentPosition = audioPlayer.SeekCurrentPosition(1, SeekPositionFlags.AbsolutePositioning);
audioPlayer.SeekStopPosition(4, SeekPositionFlags.AbsolutePositioning);
audioPlayer.Play();


سلام دوست عزیز از جواب شما هم ممنونم
سوال 1
میشه درباره دوخط اخرتوضیح بدی که چطور نقطه شروع و پایان رو مشخص کرد( چیکار کنیم دیگه تازه داریم C#‎‎‎‎‎ یاد میگیریم:خجالت::خجالت:)

سوال 2
میشه درباره این هم توضیح بدی
[QUOTE]نکته نهایی: یک روش دیگه هم هست که استریم فایل رو با خودت دات نت بخونی بعد فایل رو اجرا کنی

DirectX را رفتم دانلود کنم اما حجمش زیاد بود نمی تونم دانلود کنم باید برم سی دی شو بخرم

:تشویق: