ممكن مساعده في الجافاسكريبت

صباح الخير
لو سمحتم ي جماعه دا مشروع لوحده صحبتي في جامعتها ممكن تساعدوها
ومحدش يبخل :innocent:

**ملحوظه ** محدش يكتب الكود ويقولي اعمليه انتي عشان انا مش عايزة ابوظ الدنيا عايزة حد محترف يعملها

عايزه اضيف الصوت هنا لما العدد 0 او 360 الرنه او الصوت بتزيد بتقعد فتره اطول ام لو اي رقم تاني الرنه واحده او صوت واحد
https://codepen.io/Alhakeem/pen/zYrWmJo دا الرابط
ودا الصوت
https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.soundjay.com%2Fbutton%2Fbutton-24.mp3%3Ffbclid%3DIwAR1Ds4FTCBHpTSbdxZ4jXW_bY3tfy3fzhfC3ZGwQz6dPbwr7zb2X77DhKDY&h=AT2wuNU4G3SldcfTqGE0RxMrBhv3lelHM3TOs2k3faGtNhNmTR0a0RIsp7PgF-TYVP1Ejioo8fTFjxy7q4XMl3lhhP6eCWwsWTGzpugL5uxo4eMsFjLKzEmMsdQkojiksGBv

2 Likes

**ملحوظه ** محدش يكتب الكود ويقولي اعمليه انتي عشان انا مش عايزة ابوظ الدنيا عايزة حد محترف يعملها

هلا عائشة،

الهدف والأول والأخير من منصة كورتابز انها تكون المنصة الي تساعد الناس على إكتساب المهارات، احنا مستعدين نبذل المطلوب ونشرح لك كيف تنفذي المطلوب منك بنفسك.

ولا تقلقي بخصوص انك تبوظي الكود راح تعملي له نسخة. فما رأيك أوافيك بتفاصيل أكثر تساعدك على تنفيذ ذلك بنفسك بدلاً مني تنفيذها بدلاً عنك؟

2 Likes

تمام يبشمهندس معلش والله انا اسفه خايفه ااعمله غلط اصل هتقدمه الجامعة

1 Like

ما تقلقي، اسمحي لي ساعه بس وبرجع اشرح بالخطوات كيف تحققي المطلوب وتسلموا المشروع كما هو متوقع منكم

2 Likes

براحتك ي بشمهندس ربنا يخليك يارب

1 Like

طيب شوفي هذه الخطوات وطبقيها:

1- راح تنزلي الصوت على مجلد المشروع وبعدين بداخل ملف الـ html راح تقومي بإضافة الصوت للصفحة بالشكل التالي:

(حطي الكود في اي مكان قبل وسم header او اي مكان مش فارقة معانا)
(لاحظي اني نزلت ملف الصوت وقمت بتسميته audio.mp3 وحطيت مكان الملف في الـ src)

<audio id="audio">
     <source src="audio.mp3" type="audio/mpeg">
</audio>

2- راح تعملي زر botton علشان راح نقوم بالضغط علية بالجافاسكربت لما بدنا الصوت يشتغل، لهذا في اكواد الـ html ضيفي الزر في اي مكان في الكود مش فارقة كذلك لاننا راح نخفية بالـ CSS

<button id="playBtn" type="button"></button>

هذه كل الأكواد الي راح تحتاجي تضيفيها لملف الـ HTML


3- علشان نخفي الزر من الصفحة راح تضيفي كود الـ CSS

#playBtn{
  display: none;
}

الان اصبح معنا الصوت جاهز في الصفحة ومعنا الزر المخفي الي كلما توصل البوصلة لدرجة معينه راح نضغط علية بإستخدام الجافاسكربت ونشغل الصوت من خلالة.

ليش احتجنا لزر ما نعمل تشغيل بدون زر؟

هذا علشان سياسة التشغيل التلقائي بتفرض على المتصفح انه ما يسمح للموقع يشغل صوت بدون تفاعل من المستخدم او طلب منه، لهذا لمابنعمل زر بنعمل محاكاة لتفاعل مستخدم وطلب بتشغيل الصوت.


الان راح تروحي على ملف الـ Js ونشتغل على عملية تشغيل الصوت

4- راح نمسك الصوت والزر بالجافاسكربت
(حطي هذا الكود في بدأيات ملف الجافاسكربت بجوار المتغيرات الأخرى)

var audio = document.getElementById("audio"); 
var playBtn = document.getElementById("playBtn"); 

5- الان خلينا نعمل دالة هذه الدالة راح تنتظر عملية ضغط على الزر وفي حال حصلت عملية الضغط على الزر، راح تشغل الصوت الي عرفناه في الكود السابق audio وتعمل له play
(راح تحطي الدالة في اي مكان، في نهاية الاكواد او تحت الكود السابق)

playBtn.addEventListener("click", function(){
   audio.play();
})

الأن كل شئ جاهز فقط تبقى نستمع لحركة الموبايل ونشغل الصوت حسب الدرجة المطلوبة، في الزاوية 0 و 360 راح نشغل الصوت لمدة ثلاث ثواني بشكل متكرر مثلاً وفي بقية الزوايا راح نشغله مرة واحدة.

(راح تكتبي هذا الكود بداخل الدالة onHeadingChange )

if(event.alpha == 0 || event.alpha == 360){
      audio.loop = true;
      playBtn.click(); 
      setTimeout( function () {
           audio.loop = false;
       }, 2000);
      
    }else{
      playBtn.click(); 
    }
    

وبهذا تكوني نفذتي المطلوب، وجبت لك الكود كما طلبتي بس اتمنى تفهمية وتحاولي تطبقية بنفسك، ولا تخافي تبوظي الكود اعملي منه نسخة وحاولي واذا في اي مشكلة اطرحيها

3 Likes

معلش ي بشمهندس هو اسم الملفات ايه css javascript علي codepen عشان مش بيشتغل علي المحرر

1 Like

ما بتقدري ترفعي ملف الصوت على codepen، نزلي الاكواد واشتغلي على جهازك مباشرة.

اعملي ملف index.html وحطي اكواد ال html
ملف app.css بداخل مجلد باسم css وحطي اكواد ال css
ملف app.js بداخل مجلد باسم js وحطي اكواد ال js

1 Like

عملت والله مش بيفتح علي الشاشه خالص

1 Like

هنا الملفات

مع العلم انه علشان تجربي على الموبايل لازم تستخدمي المحاكاة الي بالمتصفح للـ sensors

1- راح تشغلي ادوات المطورين
2- راح تضغطي ctrl+shift+p
3- راح تكتبي sensors

4- راح يظهر لك تحت نافذة جديدة باسم sensors

من الـ orientation راح تعملي محاكة لحركة الجوال

1 Like

تمام شكرا جدا ي بشمهندس مش عارفين نشكرك ازاي والله ربنا يسعدك يارب ويزيدك علم :star_struck: