SoundManager 2和iPhone

SoundManager 2和iPhone,iphone,html,audio,soundmanager2,Iphone,Html,Audio,Soundmanager2,以下代码适用于我的桌面浏览器,但不适用于iPhone上的Safari,它确实显示警报(),但不播放音频。我做错了什么 soundManager.url = '/assets/backend/swf/'; soundManager.preferFlash = false; soundManager.useHTML5Audio = true; soundManager.onready(function(){ function playSong(){ soundManager.

以下代码适用于我的桌面浏览器,但不适用于iPhone上的Safari,它确实显示警报(),但不播放音频。我做错了什么

soundManager.url = '/assets/backend/swf/';
soundManager.preferFlash = false;
soundManager.useHTML5Audio = true;
soundManager.onready(function(){
    function playSong(){
        soundManager.createSound({
            id: 'song_<?=$song->ID?>',
            url: '/backend/song/play/<?=$song->ID?>',
            type: 'audio/mp3'
        }).play();
    }

    $('#play').click(function(){
        alert('playSong()');
        playSong();
    });
});
soundManager.url='/assets/backend/swf/';
soundManager.preferFlash=false;
soundManager.useHTML5Audio=true;
onready(函数(){
函数playSong(){
soundManager.createSound({
id:'宋!',
url:“/backend/song/play/”,
键入:“音频/mp3”
}).play();
}
$(“#播放”)。单击(函数(){
警报('playSong()');
播放歌曲();
});
});

据我所见,iPhone不喜欢“自动播放”的声音,它们要求通过用户交互播放声音

在您的情况下,iOS浏览器一定不喜欢您创建声音然后立即播放的事实

尝试一下此变体,看看它是否适合您:

soundManager.url = '/assets/backend/swf/';
soundManager.preferFlash = false;
soundManager.useHTML5Audio = true;
soundManager.onready(function(){
    // Create the sounds here (don't call play)
    soundManager.createSound({
        id: 'song_<?=$song->ID?>', // It is not cool to put PHP here, read below!
        url: '/backend/song/play/<?=$song->ID?>',
        type: 'audio/mp3'
    });

    $('#play').click(function(){
        var soundId = 'song_<?= $song->ID ?>';
        soundManager.play(soundId);
    });
});
soundManager.url='/assets/backend/swf/';
soundManager.preferFlash=false;
soundManager.useHTML5Audio=true;
onready(函数(){
//在此处创建声音(不要称为播放)
soundManager.createSound({
id:'宋',//把PHP放在这里并不酷,请阅读下面的内容!
url:“/backend/song/play/”,
键入:“音频/mp3”
});
$(“#播放”)。单击(函数(){
var soundId='song_';
soundManager.play(soundId);
});
});
作为旁注:我建议您不要以那种方式混合JS和PHP。查看SoundManager2示例,了解如何“增强”常规MP3链接,如下所示:

<a href="blabla.mp3">Click here to play blabla</a>

进入播放MP3 onclick的内容:


祝你好运

据我所见,iPhone不喜欢“自动播放”的声音,它们要求通过用户交互播放声音

在您的情况下,iOS浏览器一定不喜欢您创建声音然后立即播放的事实

尝试一下此变体,看看它是否适合您:

soundManager.url = '/assets/backend/swf/';
soundManager.preferFlash = false;
soundManager.useHTML5Audio = true;
soundManager.onready(function(){
    // Create the sounds here (don't call play)
    soundManager.createSound({
        id: 'song_<?=$song->ID?>', // It is not cool to put PHP here, read below!
        url: '/backend/song/play/<?=$song->ID?>',
        type: 'audio/mp3'
    });

    $('#play').click(function(){
        var soundId = 'song_<?= $song->ID ?>';
        soundManager.play(soundId);
    });
});
soundManager.url='/assets/backend/swf/';
soundManager.preferFlash=false;
soundManager.useHTML5Audio=true;
onready(函数(){
//在此处创建声音(不要称为播放)
soundManager.createSound({
id:'宋',//把PHP放在这里并不酷,请阅读下面的内容!
url:“/backend/song/play/”,
键入:“音频/mp3”
});
$(“#播放”)。单击(函数(){
var soundId='song_';
soundManager.play(soundId);
});
});
作为旁注:我建议您不要以那种方式混合JS和PHP。查看SoundManager2示例,了解如何“增强”常规MP3链接,如下所示:

<a href="blabla.mp3">Click here to play blabla</a>

进入播放MP3 onclick的内容:

祝你好运