مرجع مقالات طراحی اپلیکیشن

طراحی اپلیکیشن با جدیدترین متدهای روز دنیا

مرجع مقالات طراحی اپلیکیشن

طراحی اپلیکیشن با جدیدترین متدهای روز دنیا

چند مورد از بهترین فریمورک‌های توسعه اپلیکیشن هیبریدی موبایل - Android و iOS

2. Flutter

این فریمورک نرم‌افزار هیبریدی متن گشوده به نوعی فرزند گوگل به حساب طراحی اپلیکیشن در مشهد می‌آید، که معمولا برای پیشرفت نرم افزار‌های Android ، Windows ، iOS و Linux گزینه استعمال قرار میگیرد و انتظار می‌رود React Native را در چندین سال آتی پشت راز بگذارد. گوگل در بالا فلاتر را در سال 2017 منتشر کرد. دو قسمت درین فریمورک هیبریدی وجود دارااست که توسعه و گسترش‌دهندگان از آن استعمال می‌نمایند: Software Development Kit (SDK) و UI Library.

SDK دارنده ابزارهایی میباشد که به گسترش‌دهندگان در ساخت‌و‌ساز نرم افزار برای پلتفرم‌های iOS ، Android یا این که Windows دربین بقیه سیستم‌ادله‌ها یاری می‌نماید.

UI Library دارنده عناصری مانند ویجت‌ها، دکمه‌ها و متن‌ها میباشد که بقیه نرم‌افزار‌نویسان میتوانند از آنان استعمال نمایند.

به خواسته یادگیری Flutter می توانید از این عصر گرانبها در راکت به کارگیری نمائید.

3. Ionic

کمپانی‌های معروفی مانند NASA و Amtrak از Ionic برای ساختن نرم افزار‌های گوشی فایده میگیرند. این فریمورک متن گشوده یک تعیین بهتر برای ساخت‌و‌ساز نرم افزار‌های اینترنت پیش‌رونده (PWA) و اپلیکیشن‌های کاربردی تلفن همراه با کوشش بالا میباشد.


Ionic مشمول کامپوننت‌های رابط کاربری، کتابخانه‌های اساسی و بقیه عنصرها پیاده سازی برای ایجاد کرد شایسته ترین نرم افزار‌های موبایل Android و iOS میباشد. به علاوه از شایسته ترین گویش‌های اپلیکیشن‌نویسی جان دار در بازار مانند HTML ، CSS و JavaScript استعمال می‌نماید.


برای حصول داده ها بیشتر این نوشته ی علمی را رسیدگی نمائید.


4. Xamarin

زامارین فریمورکی متن گشوده میباشد که به وسیله مایکروسافت برای ایجاد کرد نرم افزار‌های موبایل با با کیفیت پایین پلتفرم‌های iOS ، Android و Windows استعمال میگردد. خصوصیت‌های اختصاصی آن اختصاص خاطر و گردآوری آشغال میباشد.


این فریمورک بسط اپلیکیشن هیبریدی به یوزرها قابلیت میدهد نرم افزار‌هایی بسازند که نیازی به ویرایش حداکثر 90 درصد از کد را ندارند. بسته به نوع سیستم‌برهان متبوع، بسط‌دهندگان می توانند این نرم‌افزار‌ها را بر روی رایانه فردی خویش بنویسند و آن‌ها را در پوسته apk. یا این که ipa. کامپایل نمایند. آنان همینطور میتوانند از این فریمورک برای تایپ کردن نرم افزار‌های گوشی کراس پلتفرم با گویش #C به کار گیری کنند.


مقایسه Xamarin و React Native.


5. Kendo UI

این فریمورک رابط کاربری مطابق HTML5 به پیشرفت‌دهندگان در تولید نرم افزار‌های کراس پلتفرم با تلاش بالا و فرصت گسترش نادر امداد می‌نماید. کتابخانه آن مشمول بیش تر از 70 ویجت و تعداد متعددی ابزار تحقیق داده میباشد. در حالتی که میخواهید اپلیکیشن‌ای با قابلیت و امکان‌های توسعه یافته در دست کم مجال ممکن بسازید، Kendo UI یک تعیین خوب برای شماست.


روش استعمال از Kendo UI در انگولار.


6. Unity

Unity کلاً برای توسعه و گسترش بازی در تلفن‌های هوشمند به طور کراس پلتفرم به کارگیری می‌گردد. آغاز Unity Technologies آن را در ژوئن 2005 منتشر کرد. این فریمورک پیشرفت اپلیکیشن هیبریدی قادر است به شما در ساخت گوشه و کنار‌های سه آجل، عنصرها، کاراکترها، سبک‌ها و مفاد دیگر یاری دهد. در صورتی‌که در اکنون بسط بازی می‌باشید یا این که در صنایعی مانند اتوماسیون، برنامه کودک‌سازی یا این که حتی بازاریابی عمل می کنید، میتوانید در ایجاد کرد بازی‌های با باکیفیت از Unity سود بگیرید. به علاوه می توانید تعلق‌های ماژول را در اپ‌های موبایل با تخصیص یک شی به آن ها هنگام اعمال محصور نمایید.


نکات اساسی در زمینه‌ی به کارگیری از فریمورک‌های توسعه و گسترش نرم‌افزار هیبریدی گوشی

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


پیش از اینکه این نوشته‌علمی را به نقطه نهایی برسانیم، بیایید تعدادی نکته کلیدی برگرفته گردیده از مطالب بالا را با هم مرور کنیم:


اپ‌های هیبریدی هزینه تشکیل داد و پیشرفت کمتری دارا‌هستند و هزینه مراقبت کمتری هم می‌طلبند.

این اپلیکیشن‌ها پیشرفت‌دهندگان را از ویرایش کدها برای هر سیستم‌دلیل نجات میدهند.

React Native یک فریمورک بسط نرم افزار هیبریدی بر طبق جاوا میباشد.

Flutter یک فریمورک پیشرفت نرم افزار هیبریدی متن گشوده میباشد که بوسیله گوگل منتشر گردیده است.

Ionic به وسیله غول‌های فناوری برای مثال ناسا گزینه استعمال قرار میگیرد.


طراحی اپلیکیشن چه منافعی برای کاربر دارد؟

شاید بپرسید که ابدا پیاده سازی کردن نرم افزار چه منفعتی برای صاحب کار دارااست؟ جواب به‌این سؤال مشقت بار وجود ندارد. مقصود تمامی عده ای که نرم افزار پیاده سازی می‌نمایند این میباشد که همگی چیز را در یک گوشی برای استفاده کننده آسوده نمایند. طراحی اپلیکیشن در مشهد هر که یک موبایل گوشی داراست به راحتی و با فشردن چندین دکمه می تواند به اهدافی که دارااست رسد. در میان دنیای مجازی و دنیای حقیقی و واقعی لینک و پیوند محکمی وجود داراست. در صورتی یک نرم افزار پیاده سازی می‌گردد معمولا با این غرض میباشد که تأثیری در معاش حقیقی و واقعی یوزرها داشته باشد و مسائلی را مانند: خرید کردن یا این که رزرو هتل را برای آن ها شل‌خیس نماید. امروزه موبایل‌های هوشمند دارنده شایسته ترین طاقت فرسا‌افزارها می باشند. همین مسئله سبب می گردد که بتوانید گونه های مختلفی از نرم افزار‌ها مانند: لامپ‌قوه، روزنگار یا این که رادیو را در تلفن همراه خویش نصب نمائید و آیتم استعمال قرار دهید. با اینکه بازه متعددی از قدمت نرم افزار‌ها نمی‌گذرد ولی این نرم‌افزار‌های کاربردی نقش مهمی در معاش اجتماعی عموم دارا هستند. از جمله فعالیت خرید کردن با نرم افزار بسیار شل میباشد. در پیشین برای اینکه خرید فرمایید بایستی کلی وقت صرف حاضر شدن می‌کردید. از طرفی دیگر درصورتی که وسیله نقلیه نداشتید می بایست درانتظار آژانس می‌ماندید تا شمارا به مجاورت‌ترین راس خرید برساند. البته هنگامی اپلیکیشنی برای خرید روی موبایل شما نصب میباشد فعالیت خرید کردن دیگر مشقت بار وجود ندارد. در هر فرصت میتوانید موبایل خویش را به دست بگیرید و سوای اینکه بدون چاره گردید در هوای گرم یا این که سرد خویش را به مرکز ها خرید برسانید یکسری دکمه را فشار می‌دهید و پیشنهاد خویش را در خانه تحویل میگیرید. این نرم افزار‌ها میباشند که اینگونه قابلیت ویژه‌ای را برای شما آماده می‌نمایند. نرم افزار گوشی و سیستم دلیل‌ها بعضی سؤال دارا هستند که نرم افزار‌ها در چه سیستم برهان‌هایی فعالیت می‌نمایند؟ می بایست بدانید موبایل‌هایی که در صدر ساخته شدند صرفا امکانی که در آنان وجود داشت برقراری تماس بود. این تلفن همراه‌ها بی‌سیم بودند و به همین برهان در آنان سیستم عاملی وجود نداشت. پس از اینکه تحولات بزرگی در تلفن همراه‌ها به وجود آمدند و آن ها هوشمند شدند سیستم ادله‌هایی را برای آنها ساختند. همین مورد سبب شد که نرم افزار‌ها صورت بگیرند. نرم افزار‌ها در سیستم دلیل‌های پایین نصب می گردند و می توانید از آنان به کار گیری فرمائید. پیاده سازی نرم افزار در سیستم استدلال اندروید (Android) اندروید یک سیستم دلیل یاور به حساب می آید که کمپانی گوگل آن را پیاده سازی می‌نماید. گوگل این سیستم دلیل را برای گونه های تلفن‌های هم پا و همینطور تبلت‌ها پیاده سازی نموده است. بایستی بدانید که گوگل، اندروید را بر محور سیستم دلیل لینوکس (Linux) پیاده سازی می‌نماید. سیستم دلیل اندروید خصوصیت‌های مهمی داراست که به تفصیل پایین می‌باشند: اشخاص می توانند نرم افزار‌های خویش را سوا دکان قانونی اندروید (Google Play Store) نیز دانلود نمایند. موبایل‌هایی که سیستم دلیل اندروید دارا هستند از تنظیمات‌های قابل انعطاف‌افزاری متعددی بهره مند میباشند. موبایل‌هایی که با سیستم ادله اندروید فعالیت می‌نمایند از فضای ذخیره‌سازی بالایی بهره مند می‌باشند. در سیستم ادله اندروید می توانید ابزارک‌ها (Widgets) را اضافه نمایید. سیستم برهان اندروید در تلفن همراه‌هایی با سبک‌ها و برندهای متفاوت وجود دارااست. عمل کردن با تلفن همراه سیستم برهان آن اندروید میباشد به هیچ عنوان مشقت بار وجود ندارد. سیستم برهان (ios) منحصر تلفن همراه‌های اپل (Apple) مارک اپل سیستم برهان (ios) را به طور منحصربه‌فرد برای تلفن همراه‌های تشکیل داد خویش پیاده سازی نموده است. هیچ مارک دیگری حق ندارد آن را آیتم به کارگیری قرار دهد. اشخاصی که تلفن همراه‌های مارک اپل را دارا‌هستند سیستم استدلال (ios) را بسیار جاری تعریف می‌نمایند. خصوصیت‌ها سیستم استدلال (ios) به تفصیل تحت می باشند: این سیستم دلیل امنیت بالایی دارااست و از حریم سری استفاده کننده مراقبت می‌نماید. سرعت سیستم ادله (ios) بسیار بالا میباشد و نرم افزار‌ها در آن سریع گشوده می گردند. درین سیستم دلیل نمی‌توانید بدافزار پیدا فرمائید. در صورتی نرم افزار را برای سیستم استدلال (ios) پیاده سازی نمائید قابلیت توسعه و گسترش آن با سرعت بیشتری وجود دارااست. این سیستم برهان از رابط کاربری بی آلایش‌ای برخوردار‌است. مهمترین نکته‌ای که برای پیاده سازی یک نرم افزار بایستی بدانید این میباشد که اپلیکیشن شما بایستی بتواند روی سیستم برهان‌های متعدد فعالیت نماید. بدین ترتیب که یوزرها با سیستم دلیل‌های اندروید و (ios) به راحتی بتوانند از اپی که پیاده سازی کرده‌اید استعمال نمایند.

واکنشگرا بودن وب اپلیکیشن ها

شاید نرم افزار هایی که برای موبایل همدم پیاده سازی می‌شوند، قابلیت و امکان نصب و فعال سازی روی هر تلفن همراه را نداشته باشند یا این که بعضی از سیستم کارداران را امان نکنند. البته این خلل در اینترنت نرم افزار ها نیست. در واقع همه اینترنت نرم افزار ها طراحی اپلیکیشن در مشهد به طور تماما ریسپانسیو و برخورد گرا پیاده سازی میشوند. این یعنی همگی این قابل انعطاف افزارها قابلیت و امکان به کار گیری روی هر نوع تلفن همراه موبایلی را دارا‌هستند و همگی یوزرها می‌توانند از آن‌ها فارغ از محدودیت استعمال نمایند. اینترنت نرم افزار ها با هر نوع شیت مرورگری سازش داشته و کارایی نیکی از خویش به اکران میگذارند.

عدم نیاز به بروزرسانی

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


عدم نیاز به نصب

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


عدم اشغال خاطر

وقتی که شما یک نرم افزار خاص را در گوشی خویش نصب میکنید، معمولا این نرم افزار وسعت خاصی از فضای موبایل شما‌را لبریز می نماید. این نرم‌افزار ها هریک وسعت مخصوصی داشته و در شکل ارتقاء تعداد نصب شما، ممکن میباشد فضای اشغال گردیده تلفن همراه ارتقاء پیدا نماید. درپی آن سرعت کارایی دستگاه گوشی نیز یه خرده کاهش پیدا خواهد کرد.


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


محصور نبودن به سیستم دلیل

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

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


این قابل انعطاف افزارها حتی بر روی رایانه های فردی و همگی سیستم استدلال های ویندوز نیز قابل به کارگیری می‌باشند. با دقت به اینکه این روز ها بخش اعظمی از نرم افزار های سازگار با ورژن IOS مبتلا تحریم و محدودیت مصرف شده اند، شایسته ترین چاره برای سیستم ادله های IOS، به کار گیری از اینترنت نرم افزار هاست.

 

تفاوت جاوا و جاوا اسکریپت در چیست؟

به‌تیتر یک قاعده کلی برای اینکه شما تفاوت جاوا و جاوا اسکریپت را به‌خیر شعور نمائید، ما جنبه‌های متقابل هر کدام از لهجه‌ها را در کنار یکدیگر مقایسه می کنیم. این عمل به شما یاری می‌نماید که ریلکس‌خیس تفاوت در میان جاوا و جاوا اسکریپت را شعور فرمایید. طراحی اپلیکیشن در مشهد جاوا یک‌گویش قادر تایپ‌گردیده‌است و آغاز بایستی متغیرها برای به کارگیری در نرم افزار اعلام شوند. در جاوا، نوع متغیر در طول کامپایل رسیدگی می گردد. جاوا اسکریپت یک‌لهجه با تایپ ضعیف میباشد و نحو و ضوابط ریلکس‌تری داراست.

جاوا یک‌گویش نرم افزار‌نویسی شی گرا میباشد. جاوا اسکریپت یک‌گویش اپ‌نویسی مبنی بر شی میباشد.

اپ‌های جاوا میتوانند در هر ماشین مجازی (JVM) یا این که مرورگر انجام شوند. کد جاوا اسکریپت تا قبل از اینً تنها در مرورگر جاری ساختن میشد، ولی اینک میتواند از روش js روی سرور جاری ساختن خواهد شد.

شی ءها جاوا بر پایه ی کلاس می‌باشند حتی ما نمی‌توانیم هیچ نرم‌افزار‌ای در جاوا فارغ از ساخت کلاس بسازیم. شی ها جاوا اسکریپت بر اساس مثال نخستین میباشند.

اپلیکیشن جاوا دارنده پسوند پوشه “.Java” میباشد و کد منبع را به بایت کدهایی که بوسیله JVM (ماشین مجازی جاوا) جاری ساختن می گردند، ترجمه می‌نماید. پوشه جاوا اسکریپت دارنده پسوند فولدر “.js” میباشد و تعبیر و تفسیر میگردد البته کامپایل نمیشود، هر مرورگر دارنده مفسر جاوا اسکریپت برای اجرای کد JS میباشد.

جاوا یک‌لهجه غیر وابسته میباشد. جاوا اسکریپت در یک کاغذ اینترنت قرار می گیرد و با محتوای HTML آن یک پارچه میشود.

جاوا رویکردی بر طبق حرفه برای هم‌هنگامی داراست. جاوا اسکریپت یک شیوه بر طبق روی داد برای هم‌هنگامی دارااست.

جاوا از multithreading حمایت می‌نماید. جاوا اسکریپت از یک سری فن‌ای یا این که multithreading جانبداری نمی‌نماید.

گویش اپلیکیشن‌نویسی جاوا به وسیله “Sun Microsystems” پیشرفت‌یافته میباشد. گویش اپلیکیشن‌نویسی جاوا اسکریپت بوسیله “Netscape” توسعه و گسترش‌یافته میباشد.

جاوا در ماشین صاحبخانه به‌تیتر کد “Byte” ذخیره می گردد. جاوا اسکریپت در ماشین صاحبخانه (client Machine) به‌تیتر متن “منبع یا این که سورس” ذخیره می گردد.



جاوا یا این که جاوا اسکریپت کدام‌یکی‌از خوب میباشد؟

به ذکر ظریف، درباره‌ی تعیین گویش، جاوا یا این که جاوا اسکریپت، جواب صدق و دقیقی نیست، چون واضح میباشد که  این دو گویش هدف ها بسیار متفاوتی را دنبال می‌نمایند. بسته به نوح کاری که سما از لهجه میخواهید هر یک میتوانند نسبت به دیگری برتری محسوس داشته باشند و این برتری شاید صرفا در همین کاربردی که مدنظر شما میباشد وجود داشته باشد.


سود‌ گیری

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


به‌شکل کلی تفاوت جاوا و جاوا اسکریپت در کاربرد، نحو، طریق کامپایل و در سایر موردها به‌وضوح قابل‌مشاهده میباشد و این تفاوت‌ها را می‌قدرت به جزئیات بیشتری توسعه بخشید. امیدوارم که‌این نوشته‌ی علمی برای شما، اثر گذار واقع‌گردیده باشد.


پیاده سازی کلید Record

ما فراهم سازی عملیات صوتی را کامل شدن کرده ایم. بیایید به قسمت طراحی روال action مرتبط با کلید Record وارد شویم. پیش از این که وارد کدنویسی شویم ، اذن دهید شرحی از طریق شغل کلید “Record” ارائه دهیم. طراحی اپلیکیشن در مشهد وقتی که مخاطب روی کلید “Record” ضربه میزند ، نرم‌افزار ضبط صدا را استارت خواهد کرد ، در پی این کلید به مقدار “Pause” تغییر و تحول مییابد. در صورتی مخاطب کلید “Pause” را ضربه بزند ، برنامه در عملیات ضبط صدا تانی تولید می نماید ، تا‌زمانی‌که مجدد روی کلید “Record” ضربه زده گردد. ضبط صدا ، تنها وقتی متوقف شود که استفاده کننده روی کلید “Stop” ضربه بزند.

مشی “recordPauseTapped:” را با کد پایین بازنویسی میکنیم:

- (IBAction)recordPauseTapped:(id)sender {

// Stop the audio player before recording

if (player.playing) {

[player stop];

}


if (!recorder.recording) {

AVAudioSession *session = [AVAudioSession sharedInstance];

[session setActive:YES error:nil];


// Start recording

[recorder record];

[recordPauseButton setTitle:@\"Pause\" forState:UIControlStateNormal];


} else {


// Pause recording

[recorder pause];

[recordPauseButton setTitle:@\"Record\" forState:UIControlStateNormal];

}


[stopButton setEnabled:YES];

[playButton setEnabled:NO];

}

در کد بالا ، ما آغاز تحقیق می‌کنیم که آیا audio player در درحال حاضر پخش صدا میباشد یا این که خیر. در صورتی‌که در درحال حاضر پخش باشد ، ما به آسانی آن را با به کارگیری از سیاق “stop:” متوقف میکنیم. خط 7 از کد بالا گزینش می نماید که آیا اپلیکیشن در شرایط recording میباشد یا این که خیر. در شرایطی که در شرایط recording نباشد ، برنامه audio session ها را فعال می نماید و ضبط صدا را آغاز می نماید. برای ضبط صدا (یا این که پخش صدا) ، audio session می بایست فعال خواهد شد.


در مجموع ، ما خواهیم توانست از متدهای تحت از کلاس AVAudioRecorder  برای در اختیار گرفتن ضبط صدا به کار گیری کنیم:


record – استارت / ادامه دادن عملیات ضبط صدا

pause – ساخت و ساز وقفه در عملیات ضبط صدا

stop – متوقف کردن عملیات ضبط صدا

طراحی کلید Stop

برای کلید Stop ، ما به آسانی سیاق “stop:” را برای recorder فراخوانی میکنیم. بعد از آن با غیرفعال کردن audio session فعالیت را دنبال میکنیم. مشی “stopTapped:” را با کد پایین بازنویسی می‌کنیم:


- (IBAction)stopTapped:(id)sender {

[recorder stop];


AVAudioSession *audioSession = [AVAudioSession sharedInstance];

[audioSession setActive:NO error:nil];

}

طراحی نماینده پروتکل AVAudioRecorderDelegate

ما میتوانیم از نماینده پروتکل AVAudioRecorderDelegate برای هندل کردن وقفه های صوتی (از جملهً اخذ یک ارتباط تلفنی در زمان ضبط صدا) و کامل شدن عملیات ضبط صدا ، استعمال میکنیم. در‌این نمونه ، ViewController یک نماینده میباشد. متدهای تمجید گردیده در پروتکل AVAudioRecorderDelegate ازروی میل می‌باشند. در اینجا ، ما صرفا مشی “audioRecorderDidFinishRecording:” را برای هندل کردن ، کامل شدن عملیات ضبط صدا ، طراحی خوا‌هیم کرد. کد ذیل را در پوشه ViewController.m اضافه میکنیم:


- (void) audioRecorderDidFinishRecording:(AVAudioRecorder *)avrecorder successfully:(BOOL)flag{

[recordPauseButton setTitle:@\"Record\" forState:UIControlStateNormal];


[stopButton setEnabled:NO];

[playButton setEnabled:YES];

}

بعداز اتمام عملیات ضبط صدا ، ما به آسانی کلید “Pause” را به کلید “Record” تغییر و تحول میدهیم.


پخش صدا با به کارگیری از AVAudioPlayer

در غایت ، در‌این بخش به طراحی کلید “Play” برای پخش صدا با به کارگیری از AVAudioPlayer می رسیم. در فولدر  ViewController.m ، روال “playTapped:” را با به کار گیری از کد ذیل بازنویسی میکنیم:


- (IBAction)playTapped:(id)sender {

if (!recorder.recording){

player = [[AVAudioPlayer alloc] initWithContentsOfURL:recorder.url error:nil];

[player setDelegate:self];

[player play];

}

}