【问题标题】:Possible to reduce SoundManager 2 lag on Android?可以减少 Android 上的 SoundManager 2 延迟吗?
【发布时间】:2014-01-08 17:44:52
【问题描述】:

我已经在我的网页上实现了 SoundManager 2,到目前为止,它在我使用的所有浏览器中都运行得非常好。

当我在桌面上进行测试时,单击 div 和听到播放的声音之间几乎没有延迟。 但是,在 Android 上,第一次播放声音时总是会有大约一秒的延迟。之后,几乎没有任何延迟。

是否可以减少或消除 Android 上的首次播放延迟?

这是我正在使用的代码

$(document).ready(function() {

    soundManager.setup({
        url: 'www.mysite.com/swf/',
        preferFlash: false,
        onready: function() {
            soundManager.setup({
                defaultOptions: {
                    autoLoad: true,
                    autoPlay: false
                }
            });
            soundManager.createSound({
                id: 'mysound',
                url: 'www.mysite.com/sounds/mysound.mp3',
                volume: 50
            });
        }
    });


    $(document).on("click",".wrapper",function(e){
        soundManager.play('mysound');
    }

}

我试过手动加载这样的声音

    var preload = soundManager.createSound({
        id: 'mysound',
        url: 'www.mysite.com/sounds/mysound.mp3',
        volume: 50
    });
    preload.load();

但这没什么区别!

有人在 Android 上运行过这个没有延迟吗?

【问题讨论】:

    标签: android soundmanager2


    【解决方案1】:

    我认为问题与 android 的政策有关,即只允许声音播放以响应用户输入。

    例如:Autoplay audio on mobile safari

    这是移动浏览器的限制。

    您延迟的原因是您第一次点击时必须加载声音。您的预加载不起作用,因为它不是响应用户输入而运行的,因此被阻止。

    一种解决方案是实现一个欢迎屏幕,在点击“输入”按钮时加载声音,如上述链接的顶部评论所述。

    如果你只需要它在一个浏览器上工作,你可以导航到

    chrome://flags/#disable-gesture-requirement-for-media-playback

    在您的安卓手机上并点击启用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 2021-10-22
      • 2014-06-12
      • 1970-01-01
      相关资源
      最近更新 更多