راکت

مشکل پخش نشدن خودکار افکت صوتی با جاوااسکریپت

3 پاسخ

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

var seke = new Audio("./seda/seke.mp3");
 seke.play();

مثلا همین بالا رو اگه براش یه دکمه بذارم که با زدن روی اون دکمه فعال بشه. واقعا کار میکنه.
ولی وختی داخل یک فانکشن میذارمش که وقتی تایم به فلان رسید پخش بشه. پخش نمیشود.

ali salimi
ali salimi
@salim
ثبت پرسش جدید

پاسخ‌ها

3
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

کد زمانی تون رو ننوشتید. بنویسید.

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

من هم با این مشکل مواجه شدم. اصل این قضیه برمیگرده به محدودیت نسبتا جدیدی از طرف browser ها که اومدن قانونی گذاشتند که قبل از user interaction فایل صوتی نباید پخش بشه. یعنی برای اینکه یک صوت پخش بشه حتما قبلش بایستی یک تعامل از طرف کاربر انجام بشه (مثل کلیک بروی یک گزینه یا ...) و به نظرم قانون خوبی هم هست و جلوی پخش ناخواسته صوت رو موقع وب گردی میگیره.

تو لینک های زیر تفصیلی تر به این قضیه و راهکارهای حلش اشاره شده:
https://stackoverflow.com/questions/34837930/audio-tag-autoplay-not-working-in-mobile
https://stackoverflow.com/questions/13266474/autoplay-audio-on-mobile-safari

شاید پاسخ شما همین‌جا باشد

me.bagheri
me.bagheri
@gharehnaz71

alisalimi@ ممکنه کدهاتون رو بعنوان سمپل ارائه کنید با تشکر

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

ورود یا ثبت‌نام