ali salimi
5 سال پیش توسط ali salimi مطرح شد
3 پاسخ

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

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

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

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


ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

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


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 5 سال پیش مطرح شد
1

من هم با این مشکل مواجه شدم. اصل این قضیه برمیگرده به محدودیت نسبتا جدیدی از طرف 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
@gharehnaz71 5 سال پیش مطرح شد
0

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


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

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