Alirezaok گفت:
من يك فايل فلاش swf ساختم اما وقتي آن را روي وب قرار مي دهم ابتدا كل آن Load مي شود و سپس شروع به پخش مي شود (من هيچ Loadin روي آن قرار ندادم. ضمنا من در آدرس آدرس خود فايل SWFرو ميدم و آن را در HTML فراخواني نكرده ام) حال مي خواستم بپرسم كه چطور مي توانم فايل swf ام را هر چقدر كه load كرد همان مقدار را پخش كند. يعني load و پخش با هم همراه باشند؟
دوست عزيز
اين مطلبي كه شما فرموديد برخي مواقع اتفاق مي افتد. من علت آن را براي شما
تشريح مي كنم تا راه حل آن را بتوانيد بيابيد.
همان طور كه مي دانيد نرم افزار Flash بر اساس Frame ساخته شده است.
يعني هر فيلم شامل چندين Frame است. زماني كه يك فيلم نمايش داده مي شود
هر frame خوانده شده و سپس نمايش داده مي شود. حالا بستگي به اين دارد كه
حجم خواندن آن frame چقدر باشد.
به طور مثال فرض كنيد يك frame فقط شامل يك تصوير يا يك شكل است. لود كردن
اين frame خيلي كم طول مي كشد. حالا فرض كنيد يك فريم شامل يك سري عناصر
مختلف مانند Movie ، button و كلي تصوير و صوت است. حالا لود كردن اين frame
بيشتر طول خواهد كشيد.
در اين حالت برنامه flash صبر مي كند تا تمام frame لود شود و سپس به كارش ادامه
مي دهد. به خاطر اين است كه برخي مواقع مي بينيد كه فيلم از حركت بازايستاده.
حالا راه حل چيست ؟ چگونه مي توان اين مشكل را حل كرد ؟
براي اين كار 2 راه وجود دارد.
اول اينكه شما مي توانيد براي فيلم خود يك Preload درست كنيد تا تمامي frame ها
ابتدا لود شوند و فيلم نمايش داده شود. اين كاري است كه اكثر سازندگان فايلهاي
flash از آن بهره مي برند. در اين مورد مقاله اي نيز در همين سايت وجود دارد كه
مي توانيد آن را در آدرس زير ملاحظه فرماييد :
http://www.majidonline.com/modules.php?name=Content&pa=showpage&pid=138
راه دوم اين است كه تمامي كارهايي را كه مي خواهيم انجام دهيد در يك frame انجام
ندهيم و به طور مناسب آن را بين frame هاي مختلف تقسيم كنيم. به طور مثال در
يك frame تصاوير را لود كنيم ، در فريمهاي بعدي صدا و ... با اين روش flash در
همان حالي كه frame ها را پخش مي كند ، انها را نيز لود مي كند. البته اين تكنيك بسيار
تكنيك ضعيفي است و كسي از آن استفاده نمي كند. اما اگر شما به لحاظ كاري و يا
علت خاصي كه مي خواهيد از اين راه استفاده كنيد ، مي توانيد روش ذكر شده را به
كار بگيريد.
علت اينكه فيلم شما ابتدا لود مي شود اين است كه شما تمامي اجراي فيلم خود
مانند Movie ها و يا صدا و ... را در اولين فريم فيلم خود قرار داده ايد.
در صورتي كه توضيح بيشتري لازم داشتيد من در خدمت شما هستم.