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

إصدار صوت إشعار عندما يتلقى المستخدم إشعارًا على موقع الويب react

Rayden Storm

السؤال

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

  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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...