سلام
من از کد زیر برای اجرای فایلهای فلش استفاده می کنم:
axShockwaveFlash1.Movie = Application.StartupPath + @"\flash\1.swf";
وقتی از صفحه ایی که فلش در ان اجرا می شود، خارج می شوم ، هنو ظاهرا فلش در حال اجراست یعنی اگر فلش مورد نظر صدادار باشد وبه صفحه دیگری برم باز صدای ان شنیده می شود.چگونه می توان تعیین کرد که اگر از صفحه ایی که فلش در ان در حال اجراست ، به صفحه دیگری رفتم صداش قطع بشه. مرسی
سلام
من چند تا روش پیشنهاد می کنم البته تضمین نمی کنم که جواب بدن
1- با Dispose کردن کنترل axShockwaveFlash1 ، که البته شاید اینکار زیاد جالب نباشه
کد:
axShockwaveFlash1.Dispose();
2- با stop کردن کنترل axShockwaveFlash1 که به احتمال زیاد جواب نمیده. فکر کنم فقط در یه حالت جواب میده، وقتی که فایل صوتی در فلش embed شده باشد.
کد:
axShockwaveFlash1.Stop();
3- اول در برنامه فلش یک پروژه جدید ایجاد کنید و بعد با استفاده از پالت behavior ، دستور stop all sounds رو به فریم اول اضافه کنید و بعد با فرمت swf ذخیره کنید. مثلا اسم اون رو 1.swf میزاریم. حالا با استفاده از کد زیر این فایل رو جایگزین فیلم در حال پخش می کنیم
کد:
axShockwaveFlash1.LoadMovie(1, @"C:\Users\Ali\Desktop\flash\1.swf");
توی دستوری که بالا نوشتم به جای اون یک می تونید اعداد دیگه ای رو هم بزارید که فکر کنم مقدار level مربوط به لایه باهاش کنترل میشه ولی مطمئن نیستم
4- فکر کنم با دستور زیر هم بشه به فریم مورد نظر پرش کرد، پس میایم مثلا توی فریم 100 یه behavior از نوع stop sound میدیم و با دستور زیر فیلم رو به فریم 100 پرش میدیم. البته این متد 2 تا آرگومان میگیره ، اولی مربوط به Target هست که من نمی دونم چیه (چون از برنامه نویسی فلش زیاد سر در نمیارم) و دومیش شماره فریم مقصد هست
کد:
//axShockwaveFlash1.TGotoFrame("????????", 100);
از بین این ها تقریبا مطمئنم که شماره 1 و 3 جواب میده. اگر چه روش های جالبی به نظر نمیان.
__