اذهب إلى المحتوى

السؤال

نشر

أحاول حاليًا إصدار صوت إشعار عندما يتلقى المستخدم إشعارًا على موقع الويب ، وهذا هو المثال الخاص بي

  const notificationSound = () => {
    const audio = new Audio(`${process.env.PUBLIC_URL}/notificationsound.mp3`);
    audio.load();
    audio.play().catch(error => {
      console.log(error)
    })
  };

وهذا هو الخطأالذي يظهر معي

DOMException: play() failed because the user didn't interact with the document first. 

 

Recommended Posts

  • 0
نشر (معدل)

هذه المشكلة عموما من تحديث الكروم الجديد , حسب ما أعتقد عليك أن تحدد بعض القيم لملف الصوت حتى يتم سماع الصوت, هنا صديقي بعض الكود الذي يجب أن تستخدمه حتى يتم سماع الصوت من غير مشاكل كالتالي :

 

546.PNG

تم التعديل في بواسطة Nuhla Almasri
  • 0
نشر

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

يمكن حل المشكلة بوضع السطر التالي قبل تسغيل الفيديو:

 media.muted = true;

ضمن الشيفرة:

const notificationSound = () => {
    const audio = new Audio(`${process.env.PUBLIC_URL}/notificationsound.mp3`);
    audio.load();

	 media.muted = true; // هنا

    audio.play().catch(error => {
      console.log(error)
    })
  };

هذا التعديل ضروري لإصدار كروم 66 و أحدث

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...