اجرای یک محدوده صوتی با تکرار

quantom

Member
با سلام
دو تا سوال !
داخل یک پوشه 22 فایل صوتی mp3 دارم .میخوام با انتخاب یک محدوده ، که البته هر بار هم ممکنه تغییر کنه ، یک سری فایل صوتی مثلا 10 تا 18 رو اجرا و به تعداد دو یا چند بار قابلیت تکرار داشته باشه .

پیشاپیش از راهنمایی دوستان ممنونم .
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
خب الان دقیقاً تو چه قسمتی مشکل دارید ؟ پخش فایل های صوتی ؟
 

quantom

Member
سلام به همه

دوستان کارم بخاطر مورد بالا گیره . از راهنمایی که همراه مثالی باشه ممنون می شم .
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
این کد رو ببینید، شاید نیاز باشه کمی دستکاریش کنید:
کد:
Folder$ = [color=#800000]'<SrcDir>\Data\Sound\\'[/color] 
Repeat = [color=#ff0000]2[/color] 
Range_From = [color=#ff0000]5[/color] 
Range_To = [color=#ff0000]11[/color] 
[color=#0000FF]If[/color] (Repeat < [color=#ff0000]1[/color]) [color=#0000FF]Then[/color] 
  Repeat = [color=#ff0000]1[/color] 
[color=#0000FF]End[/color] 
[color=#0000FF]For[/color] i=[color=#ff0000]1[/color] [color=#0000FF]To[/color] Repeat 
  [color=#0000FF]For[/color] j=Range_From [color=#0000FF]To[/color] Range_To 
    [color=#009000]**// i assume filename is like: "Sound (5).mp3"[/color] 
    FilePath$ = Folder$ + [color=#800000]'Sound ('[/color] + [color=#000090][b]CHAR[/b][/color](j) + [color=#800000]').mp3'[/color] 
    [color=#000090][b]PlaySound[/b][/color]("FilePath$") 
  [color=#0000FF]Next[/color] j 
[color=#0000FF]Next[/color] i
 

quantom

Member
با سلام وتشکر
اگه زحمتی نیست فایل ضمیمه رو یه نگاهی بندازین و در صورت امکان اشکالش رو اصلاح بفرمایید .
ممنون
 

پیوست ها

  • repeat.rar
    1.4 کیلوبایت · بازدیدها: 18

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
ببخشید کد قبلی رو که نوشتم حواسم به این نبود که صدا ها با هم پخش میشن، که اون کد رو بلا استفاده میکنه.

مثال رو کمی تغییر دادم، باید همون چیزی باشه که مدنظرتونه
 

پیوست ها

  • repeat.rar
    1.3 کیلوبایت · بازدیدها: 31

quantom

Member
باسلام و تشکر از زحمتی که کشیدید

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

از توجه مجدد شما ممنونم .
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
در مثال شما نام فایلها به این فرمت بود:
کد:
1.mp3
2.mp3
.
.
من تو مثال برای اینکه تست کنم نام فایل ها رو به این شکل تغییر دادم:
کد:
Sound (1).ogg
Sound (2).ogg
.
.
پس مطمئن بشید که در اسکریپت AOpen نام فایل ها مطابق با فرمت نام فایل های شما باشه
 

quantom

Member
سلام
در اسکریپت AOpen نام فایل ها مطابق با فرمت نام فایل ها است ، ولی باز هم نمیتونم اجراشون کنم . چرا ؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
خب من این مثال رو که براتون ساختم، تستش هم کردم و کاملاً درست کار میکرد !!!
اگر مطمئن هستید که نام فایل ها و آدرس فایل ها درست هست، پروژه رو در حالت Debug اجرا کنید و ببینید مشکل از کجاست
 

quantom

Member
سلام
من متاسفانه نتونستم از فایلی که زحمت کشیده بودید استفاده کنم ،از دوستان دیگه هم خواهش می کنم فایل پیوستی در بالا رو یه تستی بزنن . و بنده رو هم بیخبر نزارن . اگه راهنمایی یا تغییری هم لازم بود در فایل داده بشه ممنون می شم .
 

Aref_Alikhani

Well-Known Member
فایل تست شده و هیچ مشکلی نداره...
شما اطمینان داری که پسوند فایل هات با اون چیزی که در خط چهارم اسکریپت AOpen نوشته شده یکی هست؟
و یا اینکه در نام گذاری خطایی وجود نداره؟

ولی اسکریپت ها هیچ مشکلی ندارند...


 

quantom

Member
سلام
آقا عارف
من در استفاده از این کار مشکلم در دادن مسیر و یا نام گذلری نیست ، بلکه این دو مورد است .
1- من میخوام هر فایل صوتی چند بار تکرار بشه،مثلا صدای شماره یک سه بار تکرار بشه بعد صدای شماره دو و الی آخر ، در حالی که تمام فایل های انتخاب شده یک بار تا آخر پخش می شن و بعد دوباره همه با هم تکرار می شن .
2- بر فرض اگر سه موزیک با هم انتخاب شده اند. موزیک آخری یعنی شماره سه فقط دو بار تکرار میشه .چرا ؟
 

quantom

Member
سلام


1- من میخوام هر فایل صوتی چند بار تکرار بشه،مثلا صدای شماره یک سه بار تکرار بشه بعد صدای شماره دو و الی آخر ، در حالی که تمام فایل های انتخاب شده یک بار تا آخر پخش می شن و بعد دوباره همه با هم تکرار می شن .
2- بر فرض اگر سه موزیک با هم انتخاب شده اند. موزیک آخری یعنی شماره سه فقط دو بار تکرار میشه .چرا ؟

دوستان، از راهنمایی هاتون استفاده می کنم .
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
خب درخواست خودتون مبنب بر همین بود که یک محدوده انتخاب بشه و به یک تعداد مشخص، محدوده تکرار بشه.
میتونید به این شکل عمل کنید که شماره ی فایل ها رو به هر ترتیبی و به هر تعدادی در یک متغیر (آرایه) ذخیره کنید و اون میشه محدوده ی شما
کد زیر رو جایگزین کد موجود در اسکریپت CBK_AudioEOF کنید:
کد:
Seek = Seek + [color=#ff0000]1[/color] 
Range$ = [color=#800000]'1|3|3|3|4|5|2|5|7|5|'[/color] 
Total = [color=#000090][b]GetArrayNum[/b][/color](Range$,|) 
FileNum = [color=#000090][b]VAL[/b][/color]([color=#000090][b]GetArrayItem[/b][/color](Range$,|,Seek)) 
[color=#0000FF]If[/color] (Seek >= Total) [color=#0000FF]Then[/color] 
  [color=#009000]**// Makes looping infinite[/color] 
  Seek = [color=#ff0000]0[/color] 
  [color=#009000]**// Or you can just terminate the script[/color] 
  [color=#009000]**// Return()[/color] 
[color=#0000FF]End[/color] 
[color=#000090][b]RunScript[/b][/color]("AOpen")

همچنین در دکمه ی شروع هم فقط دستور اجرای اسکریپت CBK_AudioEOF رو بنویسید
 

quantom

Member
دوست گرامی
ظاهرا من در طرح مشکلم موفق نبوده ام و نتوانسته ام منظورم را بخوبی بیان کنم .

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

nevercom

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

به هرحال تو این کد، شماره ها رو در آرایه قرار بدید، هم ترتیبش دست خودتون هست و هم تعداد دفعات تکرار، فکر کنم این روش براتون راحت تر باشه.
 

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

بالا