Fa بخش آهنگ به صورت تصادفی

Shir20

Member
سلام دوستان
یه پروژه دارم که آزمون می گیره .می خوام در صورتی که کاربر بتونه نمره کامل اون آزمون رو بگیره هر بار یه آهنگ تصادفی براش پخش کنه به صورتی که این اهنگ ها هنگامی که پروژه ساخته میشه همراه فایل اجرایی باشه وتو یه پوشه جداگانه نباشه

منظورم اینه که تو درایو سی دی یه پوشه نباشه که از اونجا موزیک ها رو لود کنه بلکه تو خود پروژه باشه


با سپاس
 

evil_gates

اين نيز بگذرد ...
دوست عزيز
اول اينكه Embedded كردن موسيقي رو داخل پروژه اصلا توصيه نميكنم. بهتره همون روش اول رو دنبال كنيد يعني فايلهاي موسيقي رو كنار برنامه قرار بديد و از اونجا فراخواني كنيد.

براي فراخواني تصادفي هم پيشنهاد ميكنم فايلهاي موسيقي رو به ترتيب از 1 تا n شماره گذاري كنيد و بعد براي انتخاب تصادفي يكي از موسيقي‌ها اين كد رو استفاده كنيد:
کد:
x = RND(4) + 1
path$ = '<SrcDir>\\' + CHAR(x) + '.mp3'
AudioOpen("path$")
AudioPlay()
تو كد بالا فرض شده شما 5 تا فايل داريد و به ترتيب از 1 تا 5 نامگذاري كردين
 

Shir20

Member
سلام
ممنون از زحمات و توجه شما دوست عزیز

راستش حجم فایلهایی که دارم کم هستش .همه شون زیر یک مگ هستن .و در کل حجم پروژه زیر 10 مگ هست. اگه میشه کد برای موقعی که Embedded میشن هم بفرمایید
 

Shir20

Member
به جاي srcdir از ماكرو embedded استفاده كنيد:
کد:
x = rnd(4) + 1
path$ = '<embedded>\\' + char(x) + '.mp3'
audioopen("path$")
audioplay()

از این کدها استفاده کردم اما یه مشکل دارم وقتی یه اهنگ به صورت تصادفی پخش میشه و شروع به خواندن می کنه وقتی توی اون صفحه روی دکمه صفحه اصلی کلیک می کنم و بر می گردم به صفحه اصلی هنوز اون آهنگ داره پخش میشه چه کاری کنم که وقتی بر می گردم به صفحه اصلی دیگه آهنگ متوقف بشه .ممنون میشم دوستان و مدیران محترم کمک نمایند

با سپاس
 
آخرین ویرایش:

loo30fer

کاربر متخصص مولتی مدیا بیلدر
کد:
If (Play=0) Then
Play=1
x = RND(4) + 1
path$ = '<embedded>\\' + CHAR(x) + '.mp3'
AudioOpen("path$")
AudioPlay()
Else
AudioPause()
End
 

Shir20

Member
کد:
if (play=0) then
play=1
x = rnd(4) + 1
path$ = '<embedded>\\' + char(x) + '.mp3'
audioopen("path$")
audioplay()
else
audiopause()
end

دوست عزیز با گذاشتن این کد اصلا آهنگ ها اجرا نمیشن که مشخص بشه هنگامی که به صفحه دیگه میریم اون آهنگ قطع میشه یا خیر

اگه ممکنه یه چک کنید
با تشکر
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
بنده این کد رو تست کردم که قرارش دادم و بدرستی کار میکنه پس مطمئنا اشکال اینکه آدرس آهنگی که شما قرار دادین با آدرسی که به AudioOpen داده شده متفاوته.
 

Shir20

Member
والا من کد جناب آقای evil_gates می گذارم به درستی کار می کنه منتهی وقتی روی دکمه صفحه اصلی کلیک می کنم هنوز اون آهنگه پخش میشه اما وقتی کد شما می گذارم با همون مسیر قبلی اصلا پخش نمیشه!
 

m javad

کاربر متخصص
توی دکمه ای که میره به صفحه ی اصلی کد زیر رو وارد کنید(بهتره اول کد زیر رو وارد کنید و بعد کد رفتن به صفحه اصلی رو)
کد:
[LEFT]AudioStop()
[/LEFT]
کد رو هم توی همین قسمت علامت زده بنویسید(اگر کد رفتن به صفحه اصلی رو تو مربع اول وارد کردید ، از اون قسمت حذف کنید و اون رو به همراه کد بالا تو همون قسمتی که علامت گذاشتم وارد کنید)
attachment.php

موفق باشید
 

پیوست ها

  • pic.jpg
    pic.jpg
    5.9 کیلوبایت · بازدیدها: 28
آخرین ویرایش:

Shir20

Member
بی نهایت از توجه شما دوست عزیز m javad ممنونم . کارت حرف نداره:rose: .زدی تو خال .حالا یه سوال x=RND(4)+1 مجموع 4به اضافه 1 همون تعداد کل آهنگ هایی هست که از 1 تا 5 شماره گذاری شده و Embedded شده؟
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
حالا یه سوال x=RND(4)+1 مجموع 4به اضافه 1 همون تعداد کل آهنگ هایی هست که از 1 تا 5 شماره گذاری شده و Embedded شده؟
بله - ببینید دوست عزیز برای مثال شما 4 تا آهنگ دارین که میخواین به صورت رندوم یکیش رو اجرا کنید پس اگه بیاین و به تابع RND عدد 4 رو بدین ممکنه عدد 0 رو انتخاب کنه که شما اگه آهنگاتون رو به صورت 1 تا 4 لیست کرده باشین دیگه آهنگ صفری وجود نداره و آهنگی هم پخش نخواهد شد پس باید یه 1+ بهش اضافه کنید تا اگه رندوم 0 رو انتخاب کرد عدد ما بشه 1 خوب حالا اگه رندوم عدد 4 رو انتخاب کنه باز یک مشکل بوجود میاد اونم اینه که عدد ما میشه 5 پس باز آهنگ شماره 5 وجود نداره پس باید بیاین از تعداد آهنگهاتون یکی کمتر رو در نظر بگیرین که برای این مثال میشه 3 حالا اگه رندوم 0 رو انتخاب کنه عدد ما میشه 1 و اگه 3 رو انتخاب کنه عدد ما میشه 4 پس دیگه مشکلی نیست و کار منم حرف نداره :green:
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا