首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在电话锁定时触发音频播放吗?

可以在电话锁定时触发音频播放吗?
EN

Stack Overflow用户
提问于 2016-08-02 08:49:45
回答 1查看 1.6K关注 0票数 1

我正在制作一个网络聊天应用程序,现在我需要播放通知声音,因为一个新的消息到达。

首先,我使用howler.js来播放声音。在咆哮声中,我们可以开始播放声音,然后如果我们锁定屏幕或更改浏览器选项卡焦点,它就会继续播放。,但是,如果打开选项卡,移动屏幕被锁定,它不会开始播放声音,如果用户在另一个选项卡上,而应用程序在另一个选项卡上,它也不会播放。

因此,基本上我的问题是,是否可以在屏幕锁定时播放声音,或者当用户在另一个选项卡上时开始播放声音?

app.js

代码语言:javascript
复制
var notify_sound = new Howl({
    src: ['./assets/sounds/notify2.mp3'],
    volume: 1.0
});
.
.
.
.
.
.
.
.
if(type == "user"){
        if(userAddress == remoteAddress) {
            typing.html('').fadeOut('fast');
            messages.append('<li class="self"><p class="message">'+ obj.message + '</p><p class="time">' + time +'</p></li><p class="username_self">' + userAddress + '</p>');
        }
        else {
            typing.html('').fadeOut('fast');
            messages.append('<li class="other"><p class="message">'+ obj.message + '</p><p class="time">' + time +'</p></li><p class="username_other">' + userAddress + '</p>');

            notify_sound.play();
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-02 12:46:39

HTML5音频和手机并不是很合得来。Howler.js (如果您使用的是2.0)可以通过将事件处理程序附加到触发回放的第一个触摸事件来获得音频到“自动播放”。如果视图没有活动,就不会有一个触摸事件(甚至是模拟事件)来触发回放。

从医生那里:

移动播放 默认情况下,iOS、Android等上的音频被锁定,直到声音在用户交互中播放,然后正常播放页面会话的其余部分(苹果文档)。howler.js的默认行为是尝试通过在第一个touchend事件上播放一个空缓冲区来悄悄地解锁音频回放。可以通过调用以下命令禁用此行为: Howler.mobileAutoEnable = false;

如果没有最初的互动,你就无能为力了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38715830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档