<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>پادشاه فلش &#187; Components</title>
	<atom:link href="http://blog.iflashlord.com/tag/components/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iflashlord.com</link>
	<description>دست نوشته های یک پادشاه فلش</description>
	<lastBuildDate>Wed, 11 Jan 2012 12:09:13 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>فشرده سازی فایل‌ها و استخراج فایل Zip در پروژه Air</title>
		<link>http://blog.iflashlord.com/1390/08/%d9%81%d8%b4%d8%b1%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d8%a7%db%8c%d9%84%e2%80%8c%d9%87%d8%a7-%d9%88-%d8%a7%d8%b3%d8%aa%d8%ae%d8%b1%d8%a7%d8%ac-%d9%81%d8%a7%db%8c%d9%84-zip/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d9%81%d8%b4%d8%b1%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d8%a7%db%8c%d9%84%e2%80%8c%d9%87%d8%a7-%d9%88-%d8%a7%d8%b3%d8%aa%d8%ae%d8%b1%d8%a7%d8%ac-%d9%81%d8%a7%db%8c%d9%84-zip/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 01:08:15 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[addFile]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[browseForDirectory]]></category>
		<category><![CDATA[browseForOpen]]></category>
		<category><![CDATA[ByteArray]]></category>
		<category><![CDATA[ChecksumUtil]]></category>
		<category><![CDATA[close]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Create Zip file]]></category>
		<category><![CDATA[deng.fzip]]></category>
		<category><![CDATA[desktopDirectory]]></category>
		<category><![CDATA[enabled]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Event.SELECT]]></category>
		<category><![CDATA[Extract zip file]]></category>
		<category><![CDATA[FileFilter]]></category>
		<category><![CDATA[FileMode.WRITE]]></category>
		<category><![CDATA[FileStream]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[FZip]]></category>
		<category><![CDATA[FZipEvent.FILE_LOADED]]></category>
		<category><![CDATA[libs]]></category>
		<category><![CDATA[List data Zip File]]></category>
		<category><![CDATA[make zip file with adobe air]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[resolvePath]]></category>
		<category><![CDATA[serialize]]></category>
		<category><![CDATA[source_extract_zip_list]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[writeBytes]]></category>
		<category><![CDATA[Zip]]></category>
		<category><![CDATA[zipEntry]]></category>
		<category><![CDATA[استخراج]]></category>
		<category><![CDATA[استخراج فایل Zip]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[ایر]]></category>
		<category><![CDATA[زیپ]]></category>
		<category><![CDATA[ساخت فایل Zip]]></category>
		<category><![CDATA[ساخت فایل زیپ]]></category>
		<category><![CDATA[فایل زیپ]]></category>
		<category><![CDATA[فشرده سازی]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[نمایش فهرست]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1466</guid>
		<description><![CDATA[در این مطلب نحوه فشرده سازی فایل‌ها به صورت zip و استخراج فایل‌های فشرده شده با فرمت zip و نمایش لیست محتویات فایل zip آموزش داده می‌شود. همچنین در این درس استفاده از کلاسه‌های swc آموزش داده می‌شود. دانلود : components.zip &#124; source_extract_zip_list.zip قبل از شروع فایل components.zip را دانلود کنید و فایل‌های داخل آنرا [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/10/extract_zip_list_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب نحوه فشرده سازی فایل‌ها به صورت zip و استخراج فایل‌های فشرده شده با فرمت zip و نمایش لیست محتویات فایل zip آموزش داده می‌شود. همچنین در این درس استفاده از کلاسه‌های swc آموزش داده می‌شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1466"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/components.zip">components.zip</a> | <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/source_extract_zip_list.zip">source_extract_zip_list.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">قبل از شروع فایل <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/components.zip">components.zip</a> را دانلود کنید و فایل‌های داخل آنرا با توجه به محل نصب Flash در پوشه libs کپی کنید.</p>
<blockquote>
<pre>install Path:
\Adobe\Adobe Flash CS5\Common\Configuration\ActionScript 3.0\libs</pre>
</blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>فشرده سازی فایل‌ها</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۱- برنامه Flash را اجرا کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲-  یک پروژه جدید Air ایجاد کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۳- حال کلاسه‌های مورد نظر را import کنید.</p>
<pre class="brush: as3; title: ; notranslate">
import deng.fzip.*;
import deng.utils.ChecksumUtil;
import flash.filesystem.File;
import flash.utils.ByteArray;
import flash.filesystem.FileStream;
import flash.filesystem.FileMode;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">4- در ادامه باید ۳ متغیر ایجاد کنید و فایل مورد نظر را که می‌خواهید فشرده شود تعریف نمایید.</p>
<pre class="brush: as3; title: ; notranslate">
var zip:FZip = new FZip();
var ba:ByteArray = new ByteArray();
var file:File = new File();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">5- با کد resolvePath فایل مورد نظر را به کلاسه File معرفی کنید. (به جای c:/test.txt آدرس فایل مورد نظرتان را بنویسید. دقت کنید که به جای “\” از “/” استفاده نمایید.)</p>
<pre class="brush: as3; title: ; notranslate">
file = file.resolvePath(&quot;c:/test.txt&quot;);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">6- حال باید فایل مورد نظر و محتویات آنرا به متغیر zip معرفی کنید. همچنین واسطه ByteArray را هم باید به zip معرفی کنید.</p>
<pre class="brush: as3; title: ; notranslate">
zip.addFile(file.name,file.data);
zip.serialize(ba);
ba.position = 0;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">7- در نهایت نیاز است که آدرس فایل خروجی (با فرمت zip) را تعریف کرده و به وسیله یک FileStream اطلاعات تبدیل شده را روی آن دخیره کرد.</p>
<pre class="brush: as3; title: ; notranslate">
var finalZip:File = File.desktopDirectory.resolvePath(“test.zip”);
var fs:FileStream = new FileStream();
fs.open(finalZip,FileMode.WRITE);
fs.writeBytes(ba);
fs.close();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>استخراج فایل Zip</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">1- یک پروژه جدید Air ایجاد کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲- از منوی Window پنل Components را فعال کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۳- از دسته User Interface گزینه Button را انتخاب کنید و ۲ بار آنرا به داخل صفحه Drag کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۴- در پنل Properties، نام Instance دکمه‌ها را به ترتیب load_btn و extract بگذارید و تنظیمات مربوطه را به صورت زیر انجام دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1468" title="buttons_load_extract_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/buttons_load_extract_iflashlord.jpg" alt="" width="472" height="220" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۵- حال کلاسه‌های مورد نظر را import کنید و متغیرهای مورد نیاز را برای تعریف فایل zip ایجاد کنید.</p>
<pre class="brush: as3; title: ; notranslate">
import flash.filesystem.*;
import flash.net.FileFilter;
import nochump.util.zip.*;
import flash.events.Event;
var zipInput:File = new File();
var zipOutput:File = new File();
var zipFile:ZipFile;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">6- در ادامه برای هر دکمه یک Event Listener تعریف کنید تا در هر بار کلیک توابع مربوطه اجرا شود.</p>
<pre class="brush: as3; title: ; notranslate">
load_btn.addEventListener(&quot;click&quot;, loadZIP);
extract.addEventListener(&quot;click&quot;, extractZIP);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">7- تابع loadZip را که بعد از کلیک روی دکمه load_btn فراخوانی می‌شود، به صورت زیر تعریف کنید. بعد از کلیک روی این دکمه یک پنجره برای انتخاب فایل zip اجرا می‌شود.</p>
<pre class="brush: as3; title: ; notranslate">
function loadZIP(e:Event):void
{
	var filter:FileFilter = new FileFilter(&quot;ZIP&quot;,&quot;*.zip&quot;);
	zipInput.browseForOpen(&quot;Open ZIP file&quot;,[filter]);
	zipInput.addEventListener(Event.SELECT, onSelect);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">اجزای مختلف این تابع به صورت زیر است:</p>
<ul>
<li>filter: یک متغیر از نوع FileFilter برای تعریف فرمت Zip که بعد از کلیک روی دکمه مربوطه در پنجره انتخاب فایل نمایش داده می‌شود.</li>
<li>browseForOpen: پنجره انتخاب فایل را نشان می‌دهد و عنوان آن در اینجا برای مثال “Open Zip file” و فرمت فایل‌های انتخابی filter می‌باشد.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۸- حال باید تابع onSelect را که بعد از انتخاب فایل فراخوانی می‌شود، تعریف کنید.</p>
<pre class="brush: as3; title: ; notranslate">
function onSelect(e:Event):void
{
	var stream:FileStream = new FileStream();
	stream.open(zipInput,FileMode.READ);
	zipFile = new ZipFile(stream);
	extract.enabled = true;
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این تابع:</p>
<ul>
<li>stream: متغیری از نوع FileStream است که فایل zip انتخاب شده را در برنامه به جریان می‌اندازد.</li>
<li>zipFile: متغیری است که در ابتدا ایجاد شد و در اینجا stream به آن معرفی می‌شود.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۹- تابع extractZIP که بعد از کلیک روی دکمه extract فراخوانی می‌شود، به صورت زیر تعریف می‌شود. در این تابع یک پنجره برای انتخاب پوشه مقصد (جایی که فایل zip باید استخراج شود) نمایش داده می‌شود.</p>
<pre class="brush: as3; title: ; notranslate">
function extractZIP(e:Event):void
{
	zipOutput.browseForDirectory(&quot;Select Directory for extract&quot;);
	zipOutput.addEventListener(Event.SELECT, onDirSelect);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">10- درنهایت تابع onDirSelect را که بعد از انتخاب پوشه مقصد فراخوانی می‌شود، به صورت زیر تعریف کنید.</p>
<pre class="brush: as3; title: ; notranslate">
function onDirSelect(e:Event):void
{
	for (var i:uint = 0; i&lt;zipFile.entries.length; i++)
	{
		var zipEntry:ZipEntry = zipFile.entries[i] as ZipEntry;
		if (! zipEntry.isDirectory())
		{
			var targetDir:File = e.target as File;
			var entryFile:File = new File();
			entryFile = targetDir.resolvePath(zipEntry.name);
			var entry:FileStream = new FileStream();
			entry.open(entryFile, FileMode.WRITE);
			entry.writeBytes(zipFile.getInput(zipEntry));
			entry.close();
		}
		trace(&quot;Finished.&quot;);
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این تابع:</p>
<ul>
<li>یک حلقه for ایجاد شده است که به تعداد فایل‌های داخل فایل zip تکرار می‌شود.</li>
<li>در داخل حلقه یک متغیر از نوع ZipEntry تعریف شده است که محتویات فایل zip را یکی یکی معرفی می‌کند.</li>
<li>همچنین در داخل حلقه، یک دستور if وجود دارد که مطمئن می‌شود، فایل ورودی از zipEntry یک پوشه نباشد.</li>
<li>در ادامه فایل ورودی به وسیله یک FileStream در پوشه مقصد ذخیره می‌شود.</li>
<li>در نهایت بعد از تکمیل استخراج فایل zip، عبارت Finished نشان داده می‌شود.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>نمایش فهرست فایل‌های داخل Zip</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">با استفاده از کلاسه‌های swc نصب شده در ابتدای این درس می‌توانید فهرست فایل ‌های داخل Zip را نمایش دهید. بدین منظور از کدهای زیر استفاده کنید.</p>
<pre class="brush: as3; title: ; notranslate">
import deng.fzip.*;
import deng.utils.ChecksumUtil;
import flash.filesystem.File;
import flash.utils.ByteArray;
import flash.events.Event;
import flash.net.URLRequest;

var zip:FZip = new FZip();
zip.addEventListener(FZipEvent.FILE_LOADED, fileLoaded);
zip.load(new URLRequest(&quot;d:/test.zip&quot;));

function fileLoaded(e:FZipEvent):void
{
	var file:FZipFile = e.file;
	trace(&quot;File Loaded: &quot; + file.filename);
	trace(&quot; &quot; + file.sizeCompressed);
	trace(&quot; &quot; + file.sizeUncompressed);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d9%81%d8%b4%d8%b1%d8%af%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d8%a7%db%8c%d9%84%e2%80%8c%d9%87%d8%a7-%d9%88-%d8%a7%d8%b3%d8%aa%d8%ae%d8%b1%d8%a7%d8%ac-%d9%81%d8%a7%db%8c%d9%84-zip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>برقراری ارتباط بین Air و Web Service</title>
		<link>http://blog.iflashlord.com/1390/07/%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1%db%8c-%d8%a7%d8%b1%d8%aa%d8%a8%d8%a7%d8%b7-%d8%a8%db%8c%d9%86-air-%d9%88-web-service/</link>
		<comments>http://blog.iflashlord.com/1390/07/%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1%db%8c-%d8%a7%d8%b1%d8%aa%d8%a8%d8%a7%d8%b7-%d8%a8%db%8c%d9%86-air-%d9%88-web-service/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 02:28:13 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash Builder]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Browse]]></category>
		<category><![CDATA[BuildServiceRequest]]></category>
		<category><![CDATA[CelsiusToFahrenheit]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[LoadEvent]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[RESULT]]></category>
		<category><![CDATA[ResultEvent]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[SetupWebService]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[WebService]]></category>
		<category><![CDATA[WSDL]]></category>
		<category><![CDATA[اتصال به وب سرویس]]></category>
		<category><![CDATA[ارسال و دریافت اطلاعات]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[ایر]]></category>
		<category><![CDATA[دبلیو اس دی ال]]></category>
		<category><![CDATA[سلسیوس]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1379</guid>
		<description><![CDATA[در این مطلب نحوه اتصال به یک Web Service و دریافت اطلاعات آن توسط برنامه Air آموزش داده می‌شود. برای این کار از کلاسه‌های Flex در پروژه Flash استفاده خواهد شد. برای مثال در این درس درجه حرارت سلسیوس را به کمک Web Service به درجه فارنهایت تبدیل می‌کنیم. دانلود سورس : source.zip 1- برنامه [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/10/wsdl_air_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب نحوه اتصال به یک Web Service و دریافت اطلاعات آن توسط برنامه Air آموزش داده می‌شود. برای این کار از کلاسه‌های Flex در پروژه Flash استفاده خواهد شد. برای مثال در این درس درجه حرارت سلسیوس را به کمک Web Service به درجه فارنهایت تبدیل می‌کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1379"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/webAir_source.zip">source.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">1- برنامه Flash را اجرا کنید و یک پروژه از نوع Air بسازید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲- از منوی File گزینه ActionScript Settings را انتخاب کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۳- وارد بخش Library Path شوید و روی دکمه Browse To Path کلیک کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1384" title="web1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web1_iflashlord.jpg" alt="" width="446" height="400" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۴- حالا پوشه libs را با توجه به آدرس و نسخه نصب شده برنامه Adobe Flash Builder انتخاب کنید. برای مثال:</p>
<pre class="brush: plain; title: ; notranslate">
(Install Path:)\Adobe\Adobe Flash Builder 4\sdks\4.0.0\frameworks\libs
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">5- بعد از انتخاب این آدرس در پایین پنجره ActionScript Settings وضعیت Default linkage را روی Merged into code قرار دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1385" title="web2_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web2_iflashlord.jpg" alt="" width="446" height="400" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۶- روی OK کلیک کنید تا کلاسه Flex در پروژه تعریف شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۷- حالا از پنل Components و با استفاده از شاخه User Interface یک Button، دو Text Input و دو Label به داخل صفحه Drag کنید و یک فرم شبیه فرم زیر بسازید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1386" title="web3_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web3_iflashlord.jpg" alt="" width="175" height="95" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۸- در ادامه تنظیمات این Component‌ها را به صورت زیر تغییر دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1387" title="web5_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web5_iflashlord.jpg" alt="" width="475" height="196" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1388" title="web6_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web6_iflashlord.jpg" alt="" width="287" height="236" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۹- حالا روی فریم اول کلیک کنید و پنل Actions را باز کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۱۰- در ابتدا لازمه که کلاسه‌های مورد نیاز را Import کنید.</p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.MovieClip;
import flash.events.MouseEvent;
import mx.rpc.soap.*;
import mx.rpc.events.*;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">11- حالا یک متغیر WebService ایجاد می‌کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
var webService:WebService;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">12- در این آموزش بعد از کلیک روی دکمه convert اطلاعات فیلد متنی درجه سلسیوس به Web Service فرستاده می‌شود و سپس اطلاعات دریافتی از Web Service در فیلد متنی درجه فارنهایت نشان داده می‌شود. پس یک Event Listener برای دکمه تعریف می‌کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
startButton.addEventListener(MouseEvent.CLICK, SetupWebService);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">13- برای ادامه باید تابع SetupWebService را تعریف کنیم که بعد از کلیک روی دکمه convert فراخوانی می‌شود.</p>
<pre class="brush: as3; title: ; notranslate">
function SetupWebService(event:MouseEvent):void
{
	webService = new WebService();
	webService.loadWSDL(&quot;http://www.w3schools.com/webservices/tempconvert.asmx?WSDL&quot;);
	webService.addEventListener(LoadEvent.LOAD, BuildServiceRequest);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در این تابع:</strong></p>
<ul>
<li>لینک http://www.w3schools.com/webservices/tempconvert.asmx فراخوانی می‌شود. به جای این آدرس می‌توانید از هر آدرس دیگری استفاده کنید. دستور ?WSDL این آدرس را به صورت XML تعریف می‌کند تا در Flash قابل استفاده باشد.</li>
<li>بعد از Load شدن محتویات لینک با تعریف یک Event Listener برای webService تابع BuildServiceRequest فراخوانی می‌شود.</li>
</ul>
<pre class="brush: as3; title: ; notranslate">
function BuildServiceRequest(evt:LoadEvent)
{
	webService.CelsiusToFahrenheit(c.text);
	webService.CelsiusToFahrenheit.addEventListener(ResultEvent .RESULT, onResult);
	webService.CelsiusToFahrenheit.addEventListener(FaultEvent. FAULT, onFault);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در این تابع:</strong></p>
<ul>
<li>اطلاعات فیلد متنی سلسیوس (c.text) به اپراتور CelsiusToFahrenheit که در لینک Web Service قابل مشاهده است، فرستاده می‌شود.</li>
<li>دو Event Listener برای webService تعریف شده است که اولی بعد از کامل شدن عملیات و دومی‌درصورت بروز خطا فراخوانی می‌شوند.</li>
</ul>
<pre class="brush: as3; title: ; notranslate">
function onResult(event:ResultEvent)
{
	f.text = String(event.result);
}

function onFault(event:FaultEvent)
{
	trace(&quot;error&quot;);
	trace(event.fault.getStackTrace());
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در تابع onResult:</strong></p>
<ul>
<li>اطلاعات دریافتی از Web Service در فیلد متنی فارنهایت نمایش داده می‌شود.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در تابع onFault:</strong></p>
<ul>
<li>خطای به وجود آمده در فرایند ارسال و دریافت اطلاعات نمایش داده می‌شود.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/07/%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1%db%8c-%d8%a7%d8%b1%d8%aa%d8%a8%d8%a7%d8%b7-%d8%a8%db%8c%d9%86-air-%d9%88-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>پخش صدا در اکشن اسکریپت ۳ – بخش چهارم</title>
		<link>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%da%86%d9%87%d8%a7%d8%b1%d9%85/</link>
		<comments>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%da%86%d9%87%d8%a7%d8%b1%d9%85/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 20:59:06 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript 2 آموزش]]></category>
		<category><![CDATA[actionscript 2.0 آموزش]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[isPlay]]></category>
		<category><![CDATA[linkage]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[sound class]]></category>
		<category><![CDATA[SoundChannel]]></category>
		<category><![CDATA[soundTransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[stop کردن در فلش]]></category>
		<category><![CDATA[stop کردن صدا در فلش]]></category>
		<category><![CDATA[stop() فلش]]></category>
		<category><![CDATA[strop فلش]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[آموزش action script 2]]></category>
		<category><![CDATA[آموزش actionscript2]]></category>
		<category><![CDATA[آموزش stop کردن فایل فلش]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اسکریپت play stop فلش]]></category>
		<category><![CDATA[اسکریپت پخش صدا در]]></category>
		<category><![CDATA[اموزش actionscript 2.]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا در اکشن اسکریپت]]></category>
		<category><![CDATA[صدا در اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا در فلش]]></category>
		<category><![CDATA[فراخوانی صدادر فلش]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[فلش actionscript2]]></category>
		<category><![CDATA[فلش sound]]></category>
		<category><![CDATA[نرم افزار]]></category>
		<category><![CDATA[پخش صدادر فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=425</guid>
		<description><![CDATA[با توجه به این که شاید پروژه نهایی ارائه شده در بخش سوم این آموزش کامل نمی باشد ، سعی می کنیم در این بخش از آموزش نکات ریزی که ممکن هست در کار با صدا ها و مثال های ذکر شده در آموزش قبل به آنها بر بخورید را در این مطلب توضیح دهیم  [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2010/06/as3_sound_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">با توجه به این که شاید پروژه نهایی ارائه شده در بخش سوم این آموزش کامل نمی باشد ، سعی می کنیم در این بخش از آموزش نکات ریزی که ممکن هست در کار با صدا ها و مثال های ذکر شده در آموزش قبل به آنها بر بخورید را در این مطلب توضیح دهیم  :<br />
<span id="more-425"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">موردی که در آموزش قبلی احتمالا به آن بر خورده اید ، پخش چند باره با کلیک مجدد بر روی دکمه Play می باشد که این امر به دلیل عدم چک کردن در حال پخش بودن می باشد ، ما در این بخش با ایجاد variable ی با نام isPlay از نوع Boolean و مقدار دهی اولیه true به آن می توانیم با مقدار دهی این متغییر در طول برنامه و با شرطی ساده در تابع مربوز به پخش صدا جلوی پخش مجدد را بگیریم.</p>
<pre class="brush: as3; title: ; notranslate">
function onClickPlay(e:MouseEvent)
{
	if (! isPlay)
	{
		myChannel = mySound.play(lastPosition);
		myChannel.soundTransform = myTransform;
		isPlay = true;
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">مورد بعدی برای مواردی که شما نیاز دارید دکمه Stop را هم به همراه Pause و Play داشته باشید که برای این مورد هم در کد زیر بدون حذف  این مورد می توانید مشاهده نمایید.</p>
<pre class="brush: as3; title: ; notranslate">
function onClickStop(e:MouseEvent):void
{
	myChannel.stop();
	lastPosition = 0;
	isPlay = false;
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">مورد بعدی برای افرادی که کد را به صورت External می نویسند و نیاز به وارد کردن کلاس ها قبل از استفاده از آنها را دارند نیز در کد زیر مجموعه کلاس ها وارد شده قابل مشاهده می باشد.</p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">این کد برای تمامی ورژن های نرم افزار فلش که اکشن اسکریپت ۳ را پشتبانی می کنند قابل استفاده می باشد</p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>کد نهایی پروژه پخش صدا در اکش اسکریپت ۳ »</strong></p>
<pre class="brush: as3; title: ; notranslate">
import flash.media.Sound;
import flash.net.URLRequest;
import flash.media.SoundChannel;
import flash.events.MouseEvent;
import flash.media.SoundTransform;

var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform:SoundTransform = new SoundTransform();
var lastPosition:Number = 0;
var isPlay:Boolean = true;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play(0);
myTransform.volume = 0.5;
myChannel.soundTransform = myTransform;

pause_btn.addEventListener(MouseEvent.CLICK , onClickPause);
function onClickPause(e:MouseEvent)
{
	lastPosition = myChannel.position;
	myChannel.stop();
	isPlay = false;
}

play_btn.addEventListener(MouseEvent.CLICK , onClickPlay);
function onClickPlay(e:MouseEvent)
{
	if (! isPlay)
	{
		myChannel = mySound.play(lastPosition);
		myChannel.soundTransform = myTransform;
		isPlay = true;
	}
}

stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);

function onClickStop(e:MouseEvent):void
{
	myChannel.stop();
	lastPosition = 0;
	isPlay = false;
}
</pre>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>توصبه می شود ب<a href="../1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/" target="_blank">خش  اول مبحث پخش صدا در اکشن اسکریپت ۳</a> و </strong><strong><a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/" target="_blank">بخش دوم مبحث پخش صدا در اکشن اسکریپت ۳</a> و </strong><a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/" target="_blank"><strong>بخش سوم مبحث پخش صدا در اکشن اسکریپت ۳ </strong></a><strong> را نیز  مطالعه نمایید</strong></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">امید است که از این بخش از آموزش ها نهایت بهره را برده باشید.<br />
موفق و پیروز باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%da%86%d9%87%d8%a7%d8%b1%d9%85/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>پخش صدا در اکشن اسکریپت ۳ – بخش سوم</title>
		<link>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/</link>
		<comments>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 16:23:45 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[lastPosition]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[Pause]]></category>
		<category><![CDATA[SoundChannel]]></category>
		<category><![CDATA[soundTransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[transform]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[Volume]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا در اکشن اسکریپت]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=410</guid>
		<description><![CDATA[در ادامه  بخش دوم مبحث پخش صدا در اکشن اسکریپت ۳ به بخش آخر این مبحث می پردازیم : Pause کرد صدا در واقع اکشن اسکریپت متدی برای pause کردن صدا ندارد و عملی که می بایست انجام شود Stop کردن صدا می باشد و برای ادامه می بایست عمل play از محل ادامه تعیین [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2010/06/as3_sound_iflashlord.jpg" alt="iflashlord.com" />
	</p><blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ادامه <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/" target="_blank"> بخش دوم مبحث پخش صدا در اکشن اسکریپت ۳</a> به بخش آخر این مبحث می پردازیم :</p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>Pause </strong><strong>کرد صدا</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در واقع اکشن اسکریپت متدی برای pause کردن صدا ندارد و عملی که می بایست انجام شود Stop کردن صدا می باشد و برای ادامه می بایست عمل play از محل ادامه تعیین شود.<br />
این عمل نیاز به این دارد که ما آخرین محل در حال پخش را قبل از Stop کردن دریافت کنیم تا در زمان ادامه دادن بتوان با استفاده از play از ادامه صدا عمل پخش را شروع کنیم.<br />
برای این کار نیاز داریم از soundChannel و خصوصیت .position استفاده کنیم تا بتوانیم این مقدار را در مرحله بعد در متد .play استفاده کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-410"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای شروع این پروژه ابتدا از پانل Components دکمه ای را می کشیم و به Stage وارد می کنیم و instance name آن را play_btn قرار می دهیم و label آن را Play قرار می دهیم و دکمه دیگر با instance name ی با مقدار pause_btn قرار دهید یا lable و instance name مربوطه به مثال قبلی را با مقدار های Pause و pause_btn تغییر دهید. در نهایت می بایست مانند تصیر زیر دو دکمه در صفحه داشته باشید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-412" title="sound_as3_p3_1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound_as3_p3_1_iflashlord.gif" alt="" width="261" height="63" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال به بخش اکشن اسکریپت بر می گردیم و ابتدا می بایست همه کد های مربوطه به stop_btn مثال قبلی را حذف نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">کد هایی که می بایست حذف شود:</p>
<pre class="brush: as3; title: ; notranslate">
stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);
function onClickStop(e:MouseEvent):void{
myChannel.stop();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای این که ما آخرین محل پخش شدن را در دسترس داشته باشیم نیاز داریم یک variable ایجاد کنیم و مقدار آخرین محل پخش را در زمان Stop کردن در آن قرار دهیم. ما به راحتی می توانیم یک variable ایجاد کنیم و مقدار آن را به صورت پیش فرض رو صفر ۰ قرار دهیم. ما نام این variable را lastPosition قرار می دهیم به کد زیر دقت نمایید :</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال ما به کدهای مربوط به دکمه Pause می پردازیم زمانی که بر روی این دکمه کلیک می شود ما ابتدا به lastPosition مقداری که از SoundChannel ما دریافت می شود و خصوصیت position آن دریافت می کنیم. در زیر به کد مربوطه به pause_btn دقت نمایید :</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();
pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
function onClickPause(e:MouseEvent):void{
lastPosition = myChannel.position;
myChannel.stop();
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ما حال می بایست در دکمه Play تغییراتی انجام دهیم که تا بتواند در زمان کلیک از آخرین محل عمل پخش را انجام دهد این کار به راحتی با دادن مقدار lastPosition به اولین آرگمان مربوطه به متد Play این کار امکان پذیر می باشد ، اگر توجه کرده باشید در ابتدا مقدار lastPosition را روی ۰ قرار دادیم با این کار در صورتی که تا به حال عمل pause انجام نشده باشد عمل play از محل ۰ که همان ابتدای صوت ما می باشد شروع می شود ، توجه داشته باشید که می بایست متد play را به myChannel نسبت دهید :</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}
play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);
function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حالا وقت این رسیده که با Ctrl+Enter پروژه خودتون تست نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>تغییر ولوم (</strong><strong>Volume</strong><strong>) صدا</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در آخر بخش صدا ها به ولوم صدا و کنترل بر آن توسط SoundChannel می پردازیم ، برای تغییر در ولوم صدا نیاز به استفاده از کلاس SoundTransform و خصوصیت SoundChannel.soundTransform می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">کلاس SoundTransform دارای خصوصیات متغیری می باشد که مهم ترین برای ما .volome می باشد. استفاده از SoundTransform بسیار ساده می باشد همه چیزی که نیاز دارید این است که ابتدا یک متغیر بسازید و کلاس را به آن نسبت دهید و خصوصیات را اعمال نمایید و به خصوصیت .soundTransform مربوط به SoundChannel مربوطه متغیر ساخته شده را اعمال نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ادامه کار را با ایجاد نمونه ای از کلاس SoundTransform و اعمال آن به myTransform شروع می کنیم :</p>
<pre class="brush: as3; highlight: [3]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مرحله ما می بایست مقداری به خصوصیت .volume  بر روی این نمونه بدهیم.مقداری مربوطه به خصوصیت .volume مقداری بین ۰ تا ۱ می باشد که ۱ به معنای نهایت ولوم و ۰ به معنای بدون صدا بودن می باشد ، شما می توانید مقدار های اعشاری بین ۰ تا ۱ را برای مقدار دهی استفاده کنید به طور مثال ۰.۵ به معنای ۵۰%  صدا می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مرحله ولوم را بر روی ۰.۵ که صدای متوسط می باشد (۵۰%) قرار می دهیم.</p>
<pre class="brush: as3; highlight: [7]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
myTransform.volume = 0.5;

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال این transform  را به عنوان خصوصیت .soundTransform مربوطه به SoundChannel اعمال می کنیم.</p>
<pre class="brush: as3; highlight: [8]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
myTransform.volume = 0.5;
myChannel.soundTransform = myTransform;

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">شما می بایست همیشه به یاد داشته باشید استفاده از .soundTransform می بایست <strong>بعد از</strong> قرار دادن شی صدا در channel  شما باشد و نه قبل از آن. شما می توانید ولوم را با تست کردن Movie و صدا را به صورت متوسط بشنوید ولی با Pause و Play کردن صدا متوجه خواهید شد صدا دوباره زیاد می شود ، دلیل این می باشد که زمانی که صدای جدیدی به Channel وارد می کنید  همه soundTransform ها حذف می شود. ما این مورد را با اعمال  دوباره خصوصیت .soundTransform واقع در تابع onClickPlay حل می کنیم :</p>
<pre class="brush: as3; highlight: [23]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
myTransform.volume = 0.5;
myChannel.soundTransform = myTransform;

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
	myChannel.soundTransform = myTransform;
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال movie را تست نمایید و به این نکته دقت کنید که این بار با Pause و Play کردن در ولوم صدا تغییری ایجاد نمی شود.</p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
توصیه می شود <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/" target="_blank">بخش اول صداها در اکشن اسکریپت ۳</a> و <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/" target="_blank">بخش دوم صداها در اکشن اسکریپت ۳ </a> نیز مطالعه شود.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>پخش صدا در اکشن اسکریپت ۳ – بخش دوم</title>
		<link>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/</link>
		<comments>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 11:42:17 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript 3 کار با]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[linkage]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[mp3 تغییر نام]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[play کردن در فلش]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[set interval در جاوا]]></category>
		<category><![CDATA[setinterval as3]]></category>
		<category><![CDATA[setinterval و جاوااسکریپت]]></category>
		<category><![CDATA[setinterval چیست]]></category>
		<category><![CDATA[sound class]]></category>
		<category><![CDATA[SoundChannel]]></category>
		<category><![CDATA[soundTransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[آموزش کار با class as 3]]></category>
		<category><![CDATA[آموزش کار با مفصل در فلش]]></category>
		<category><![CDATA[اجرای فایل فلش امتیاز5از5]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اسکریپت پخش فایلصوتی]]></category>
		<category><![CDATA[اموزش كار با برنامه ساخت فلش]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[جاوا اسکریپت setinterval]]></category>
		<category><![CDATA[رویداد]]></category>
		<category><![CDATA[صدا در اکشن اسکریپت]]></category>
		<category><![CDATA[صدا در اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[فلش و طرز کار با ان]]></category>
		<category><![CDATA[فلش کار بنر]]></category>
		<category><![CDATA[كار setinterval در جاوا]]></category>
		<category><![CDATA[كدهاي فلش]]></category>
		<category><![CDATA[متد addeventlistener در نرم افزار فلش]]></category>
		<category><![CDATA[نحوه play كردن فايل فلش]]></category>
		<category><![CDATA[نحوه وارد كردن فايل هاي فلش در وب سایت]]></category>
		<category><![CDATA[نحوه پخش صوت در فلش]]></category>
		<category><![CDATA[نحوه پخش فایل فلش]]></category>
		<category><![CDATA[نحوه کار با اکشن]]></category>
		<category><![CDATA[نرم افزار]]></category>
		<category><![CDATA[پخش فایل صوتی به صورت فلش]]></category>
		<category><![CDATA[چگونگی آپلود فلاش بنر انلاین]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=395</guid>
		<description><![CDATA[در ادامه  بخش اول مبحث پخش صدا در اکشن اسکریپت ۳ به موارد دیگر ذکر شده در آن مطلب می پردازیم : پخش یک فایل صوتی خارجی (خارج از فلش ) پخش کردن یک فایل صوتی خارجی ساده تر از پخش فایل صوتی داخل فلش می باشد زیرا شما نیازی به وارد کردن فایل برای [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2010/06/as3_sound_iflashlord.jpg" alt="iflashlord.com" />
	</p><blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ادامه  <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/" target="_blank">بخش اول مبحث پخش صدا در اکشن اسکریپت ۳</a> به موارد دیگر ذکر شده در آن مطلب می پردازیم :</p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong><br />
پخش یک فایل صوتی خارجی (خارج از فلش )</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">پخش کردن یک فایل صوتی خارجی ساده تر از پخش فایل صوتی داخل فلش می باشد زیرا شما نیازی به وارد کردن فایل برای ساخت کلاسی برای فراخوانی فایل ندارید.</p>
<p style="text-align: right;">برای شروع یک پروژه جدید فلش ایجاد کنید و آن را در محلی مثل دسکتاپ ذخیره کنید و فایل .mp3 مربوطه را نیر در همان محل قرار دهید و فایل صوتی را به myFavSong.mp3 تغییر نام دهید.</p>
<p style="text-align: right;"><span id="more-395"></span></p>
<p style="text-align: center;"><img class="size-full wp-image-396    aligncenter" title="sound_as3_p2_1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound_as3_p2_1_iflashlord.jpg" alt="" width="205" height="137" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال به پروژه FLa خود برگردید و پنل اکشن را باز نمایید با دکمه F9 و نوشتن کد را شروع می کنیم ، در ابتدا سراغ ساختن new از کلاس Sound می نمایید و آن را به mySound مقدار دهی می کنیم و بعد با استفاده از متد .load این کلاس اقدام به بارگزاری فایل مریوطه می کنیم و در نهایت با استفاده از متد .play اقدام به پخش صدای بارگزاری شده می نماییم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در زیر به که موارد ذکر شده دقت نمایید</strong><strong> :<br />
</strong></p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong><br />
</strong><br />
همان طور که در کد بالا مشاهده می کنید برای استفاده از آدرس یک فایل در بخش load در AS3 از کلاس URLRequerst استفاده می کنیم برای اطلاعات بیشتر در مورد این کلاس می توانید به راهنمای نرم افزار فلش مراجعه نمایید. شما هم اکنون می توانید پروژه را تست نمایید و پخش شدن فایل خارجی بارگزاری شده را تست نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>Stop </strong><strong>کردن صدا</strong><strong><br />
</strong><br />
تا اینجا درباره انواع پخش کردن صدا با اکشن صحبت کردیم در ادامه به نحوه Stop کردن و یک مثال خواهیم پرداخت.<br />
نکته ای که وجود دارد این است که کلاس Sound متدی برای Stop کردن صدا ندارد و ما برای این کار می بایست از کلاس SoundChannel کمک بگیریم. ما می بایست یک SoundChannel یا کانال صوتی ایجاد کنیم و عملکرد متد play کلاس Sound رو با اون برابر قرار بدیم تا بتونیم از متد SoundCannel برای صدای خودمون استفاده کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در زیر به توضیحی از متدهای کلاس SoundChannel می پردازیم:</p>
<ul>
<li>.stop() –این متد صدای که درون کانال مورد نظری در حال پخش است را Stop می کند.</li>
<li>.position – این متد محل جاری صدای در حال      پخش را در کانال مورد نظر ما بر می گرداند.</li>
<li>.soundTransform – برای تغییر صدا مثل ولوم و جا به      جایی بین پخش سمت چپ و راست می باشد.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ادامه ما یک پروژه جدید فلش ایجاد می کنیم و قصد داریم یه فایل صوتی خارجی را بارگزاری و پخش کنیم و با یک دکمه Stop در زمان کلیک بر روی آن عمل پخش را Stop نماییم</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله اول یک دکمه Button از پانل کامپوننت ها Window&gt;Components درگ کرده و در صفحه قرار دهید و instance name آن را stop_btn قرار دهید ، شما می تونید از تب پارامتر های کامپوننت lable دکمه را به Stop تغییر دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-397" title="sound_as3_p2_2_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound_as3_p2_2_iflashlord.jpg" alt="" width="464" height="170" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">هم اکنون دکمه ای ایجاد کردیم که در زمان کلیک بر روی آن صدا می بایست Stop شود.<br />
پنل اکشن را باز نمایید و یا بر روی تنها فریم موجود در تایم لاین TimeLine راست کلیک کرد و Actions را انتخاب نمایید تا پانل اکشن نمایش داده شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">مرحله بعد شروع نوشتن کد ها می باشد طبق کدهایی که در مرحله های قبلی توضیح دادیم کلاس Sound را برای بارگزاری صدا ایجاد می کنیم و صدا را با متد play پخش می کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ما برای کنترل بر روی صدا و اعمال متد Stop همان طور که در اول هم گفتیم می بایست از SoundChannel استفاده کنیم در کدی در زیر می بینید ما این کلاس تعریف کردیم:</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای این که کلاس SoundChannel بر روی صدای ما کنترل داشته باشد نیاز به این داریم که پیوندی بین این دو ایجاد نماییم و این کار را با جا به جایی خط آخر کد بالا انجام می دهیم ، در واقع عمل play را به کلاس SoundChannel که در اینجا با myChannel تعریف شده می دهیم.</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال به راحتی می توانید با ایجاد رویداد برای دکمه از متد stop مریوط به کلاس SoundChannel استفاده کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();

stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);

function onClickStop(e:MouseEvent):void{
myChannel.stop();
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می توانید پروژه را تست نمایید در زمان اجرا به صورت خودکار صدا می بایست پخش شود و با کلیک بر روی دکمه Stop می بایست صداد Stop شود.</p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> توصبه می شود ب<a href="../1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/" target="_blank">خش  اول مبحث پخش صدا در اکشن اسکریپت ۳</a> را نیز مطالعه نمایید</strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 1/15 queries in 0.054 seconds using disk: basic
Object Caching 3810/3920 objects using disk: basic

Served from: blog.iflashlord.com @ 2012-02-09 16:30:31 -->
