IE10中没有播放音频对象

时间:2014-12-10 13:04:41

标签: javascript angularjs audio internet-explorer-10

我有一个工厂的AngualrJS应用程序,负责在某些活动中播放音频。 我在该工厂创建了3种不同的音频。 我的问题是在IE10中,只有一个音频(消息发送),我从其他控制器调用3和另外2个正在播放(从同一工厂调用)只在调试器中,当我一步一步地运行和之后第一次播放然后它没有调试器的预期工作。 在Chrome和Firefox中,它的效果非常好。

var sounds = {
    messageSent: new Audio('/assets/audios/message-sent.mp3'),
    privateMessageRecived: new Audio('/assets/audios/private_message.mp3'),
    notificationRecieved: new Audio('/assets/audios/notification-recived.mp3')
};

然后播放音频:

sounds[soundName].play();

mime-type是audio/mpeg

    function start() {
        pusherEvents.onAll(function(channelName, eventName, data) {
            if (!isEmbedInactive() || isMuted()) {
                return;
            }

            switch (eventName) {
                case 'message':
                    if (!isMe(data.sender_id)) {
                        SpotsManager.getSpot({ id: data.spot_id })
                            .then(function(spot) {
                                if (spot.type === 'intimate') {
                                    sounds.privateMessageRecived.play();
                                }
                            });
                    }
                    break;
                case 'user_mentioned':
                    if (!isMe(data.mentioner.id)) {
                        sounds.notificationRecieved.play();
                    }
                    break;
                case 'message_liked':
                    var isMine = isMe(data.sender_id);
                    if (isMine) {
                        sounds.notificationRecieved.play();
                    }
                    break;
                case 'invitation_accepted':
                    if (!isMe(data.invitee.id)) {
                        sounds.notificationRecieved.play();
                    }
                    break;
                case 'intimate_user_invited':
                    sounds.notificationRecieved.play();
                    break;
            }
        });
    }

1 个答案:

答案 0 :(得分:0)

我过去遇到过类似的问题,因为audio标签是自我关闭的。

尝试<audio></audio>而不是<audio/>

这似乎是一个IE10错误

<强>更新

在提供其他一些信息后,我建议您查看触发此音频的事件。也许这些事件在IE10中无法正常工作