Professional Documents
Culture Documents
في هذا التطبيق سوف نتعلم شئ أساسي ببرمجة Fulttterوهو Packagesوهي البرامج المساعده مفتوحة المصدر
اللتي سوف توفر عليك كثير من الوقت عند برمجة تطبيقك .
أوال نقوم بعمل مشروع جديد مثل ما اتعلمنا سابقا ونقوم باسميته music_appونقم باألعدادات االساسية وتصميم
التطبيق وتحديد األلون كما يلي
األ ن نقوم بأختيار ملفات الصوت المراد تشغيلها وعمل لها ملف داخل مسار البرنامج تبعنا وتسميته وبعد ذالك ادراج
جميه ملفات الصوت المختارة الى هذا الملف
واألن نعدل في ملف األعدادات مثل ماعملنا عند ادراج الصور
ونستطيع أدراج الصور بنفس المكان
Flutter packages
االن حتى نمكن تطبيقنا من تشغيل الصوت البد من استخدام حزمه تعمل هذه العمل.
في األول البد أن نعرف ماهي ا ل Flutter packagesهي عبارة عن برامج مفتوحة المصدر تم برمجتها من
قبل مبرمجين بعضها مجانيه واالخرى غير مجانيه وسمحو لنا بأستخدامخها حتى نحصل على هذه الحزم البد لنا ان
بحث عليها من خالل هذا الموقع
https://pub.dev/
/https://fluttergems.dev
نقوم بالبحث للحزمه المناسبة بالنسبه لنا حيث هناك أكثرمن حزمه ممكن تقوم بهذا العمل
https://pub.dev/packages/audioplayers/versions/1.2.0
https://github.com/AgeOfLearning/flutter_audioplayers/blob/
master/doc/audio_cache.md
assets_audio_player 3.0.6
https://pub.dev/packages/assets_audio_player
just_audio: ^0.9.31
https://pub.dev/packages/just_audio
هنا طرحنا ثالث امثله وفي هذا البرنامج سوف نشتغل مع audioplayersوبعد أن تعلمنا كيف تنسيق هذه
الحزمه نأتي ألستدعها في البرنامج تبعنا
اوال تعديل ملف االعدادات
ثانيا استدعاء المكتبه
ثانيا استدعاء المكتبه الخاص بهذه الحزمه وبعد ممكن نستدعي الكائنات اللتي تعمل مع هذه المكتبه ولنعود لصفحة
هذه الحزمه هناك تعليمات كيف االستدعاء
https://github.com/AgeOfLearning/flutter_audioplayers/blob/
master/doc/audio_cache.md
ثالثا نقوم بعمل زر عند الضغط علية يشغل الموسيقى المراده وسوف نشرح ال buttonالحقا ً دعونا االن نتحدث
عن االخطاء التي سوف توجهنا في pub getوكيف حلها أيضا المشاكل التي سوف توجهنا في تشغيل المحاكي
ERROR:D8: Cannot fit requested classes in a single dex file (# methods: 73986 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex
archives:
https://www.youtube.com/watch?v=oBaUVcOLmOw
https://developer.android.com/studio/build/multidex
بعد أصالح االخطاء الواردة أعالة نعود الى برمجة التطبيق تبعمنا ونستدعي ملفات
الصوت من خالل الضغط على أحد األزرار .
فلذالك نقوم بأنشاء زر ونوكل الحدث عند الضغط بتشغيل الصوت كما هو موضح
بالبرنامج التالي
مالحظة عند تنفيذ البرنامج السابق سوف ينفذ بشكل طبيعي ولكن عند الضغط على
الزر سوف تظهر مشكله (في حالة أنك تشتغل على محاكي االندرويد) وأذا كنت تشتغل
على ماكي المتصفح او سطح الكمبيوتر سوف يشتغل الصوت بدون أي مشاكل .
المشكلة التي سوف تصادفك عند العمل على محاكي االندرويد هي :
parameter format not correct
D/eglCodecCommon(18593): setVertexArrayObject: set vao
to 0 (0) 1 0
ولحل هذه المشكله اتبع التعليمات التالية أدخل على هذا الملف اللي في المسار المشار
اليه ادناه
gradle->wrapper->gradle-wrapper.properties
إلى
distributionUrl=https://services.gradle.org/distributions/gradle-7.6-all.zip
وبهذا األمر سوف تسدعي اخر نسخة من gradleوسوف تحل لك المشكله ويجب ان
يتوفر لديك انترنت وان تنتظر بعض دقائق .
أخيرا بعد أن يكمل التحميل يكون البرنامج جاهز لتنفيذ وتشغيل الصوت