از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
شش سال پیش منتشر شده
تعداد بازدید: 645
کد پروژه: 84535
شرح پروژه
پخشکنندهی موسیقی
هدف این پروژه برنامهنویسی یک پخشکنندهی موسیقی سادهی دارای ویژگیهای زیر است. 1. ابتدا برنامه آدرس پوشهی حاوی فایلهای موسیقی و پوشههای دیگر را دریافت می کند. سپس
آدرس داده شده را پردازش کرده و داخل یک درخت میریزد به طوری که گرههای داخلی پوشهها و برگها فایلها باشند. در صورتی که آدرس داده شده معتبر نباشد(یافته نشود) پیغام خطا میدهد و آدرس معتبر را درخواست میکند.
2. درصورتموفقیتآمیزبودنمرحلهقبل،لیستیازمواردزیربهعنوانمنونمایشدادهمیشودو برنامه از کاربر درخواست میکند یکی از عملیات زیر را انتخاب کند. 1.2. پخش: برنامه پس از انتخاب این گزینه به طور خودکار صف پخشی از فایلهای درون
پوشهی پدر، که از درخت تولید شده در مراحل پیشین دریافت میکند، میسازد. ترتیب این صف به طور پیشفرض براساس حروف الفبا میباشد. سپس پخش شدن موسیقی از اولین ترک موجود در صف آغاز میشود و این گزینه در منو به توقف (2.2) تغییر مییابد. پس از اتمام پخش هر ترک و با شروع پخش ترک جدید، برنامه باید صف پخش بهروزرسانی شده را نمایش دهد.
2.2. توقف: پس از انتخاب این گزینه باید پخش موسیقی متوقف شود و در منو توقف به پخش تغییر یابد. پس از انتخاب پخش، برنامه باید به پخش موسیقی متوقف شده، از ابتدا بپردازد.
۳.2. بعدی: ترک بعدی پخش شود. ۴.2. قبلی: ترک قبلی پخش شود. ۵.2. شخصی سازی صف پخش: در این مرحله برنامه منوی زیر را نمایش خواهد داد و منتظر
ورودی کاربر میماند. برنامه پس از انتخاب کاربر از این منو خارج و پس از اعمال تغییرات به منوی اصلی باز میگردد. 1. براساسنامموسیقی:صفپخشرابراساسترتیبنامموسیقیهامرتبمیکند.(حالت
پیشفرض)
2. براساسخواننده:صفپخشرابراساسترتیبنامخوانندههامرتبمیکند. ۳. تصادفی(shuffle):صفپخشرابهطورتصادفیمرتبمیکند.
۶.2. تکرار: در این مرحله برنامه منوی زیر را نمایش خواهد داد و منتظر ورودی کاربر میماند. برنامه پس از انتخاب کاربر از این منو خارج و پس از اعمال تغییرات به منوی اصلی باز میگردد. 1. بیتکرار:پخشموسیقیهاپسازپخشآخرینترکصفخاتمهمیابد.(حالتپیشفرض) 2. تکرارهمهیترکها:پسازاتمامصفپخشبهابتدایصفبرمیگرددوازابتداترکهارا
پخش میکند. ۳. تکرارترکدرحالپخش:ترکدرحالپخشراپسازهرباراتمام،مجدداًپخشمیکند.
۷.2. نمایش فایل: برنامه با داشتن آدرس پوشه پدر، پوشهها و فایلهای درون آن را به صورت درختی که گرههای داخلی پوشهها و برگها فایلها هستند، نمایش میدهد. در این مرحله باید تنها فایلهای موسیقی نمایش داده شوند و مابقی فایلها نمایش داده نشوند.
۸.2. جستوجو: با گرفتن نام کامل یا قسمتی از نام، برنامه لیستی از آهنگهایی که با رشتهی ورودی مطابقت دارند، میسازد و نام آنها را (به صورت شمارهگذاری شده) نمایش میدهد. سپس از کاربر میپرسد: «آیا تمایل به پخش موسیقیهای یافته شده دارید؟». در صورت پاسخ مثبت، پس از دریافت شمارهی موسیقی یافته شده، آن تِرَک پخش میشود. و در صورت پاسخ منفی،
منوی اصلی نمایش داده شده و برنامه در حالت انتظار برای ورودی جدید از منو قرار میگیرد. در این مرحله جستوجو باید از ریشهی درخت که همان پوشهی پدر که قبلاً معرفی شد، آغاز شود.
۹.2. خروج: برنامه خاتمه مییابد.
نکات مهم:
• در کدنویسی برنامهی فوق میتوانید از زبانهای برنامهنویسی ++c، جاوا و پایتون استفاده کنید.
• فرمت فایل موسیقی اهمیتی ندارد.
• در برنامه باید حتماً از ساختمان دادههای درخت و صف و پشته استفاده شود. درخت باید حتماً توسط خودتان پیادهسازی شود ولی از صف و پشته های آماده و از قبل پیادهسازی شده میتوانید استفاده کنید.
• برای الگوریتمهای جستوجو و مرتبسازی باید از مطالب مطرح شده در کلاس استفاده کنید. • برای مرتبسازی میتوانید از آرایه کمک بگیرید. • نام فایلهای موسیقی به صورت ذکر شده در ادامه میباشند. TrackName – SingerName.format
• شیء Music را به صورت زیر تعریف کنید و در ساخت درخت و صف و پشته از این شیء استفاده کنید.
Music {
track_name singer_name path
}
• نیازی به طراحی رابط گرافیکی نیست. رابط کاربری در کنسول باید از مرحلهی دو به بعد به طور پیوسته منوی اصلی به همراه صف پخش را نمایش دهد. با پخش شدن هر ترک جدید، برنامه باید
کنسول را پاک کند و منوی اصلی را به همراه صف پخش جدید (بهروزرسانیشده) نمایش دهد
• برای پیادهسازی توابع موزیک میتوانید از کتابخانهی SFML استفاده کنید. https://www.sfml-dev.org/
موفق باشید.
مهارت ها و تخصص های مورد نیاز
بودجه
5,000 تومان تا 100,000 تومان
مهلت برای انجام
7روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت شش سال پیش
قادر به انجام این پروژه هستید؟
مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار