我试图用soundmanager 2初始化一个360Ui音频播放器。 在第一页加载中,玩家按照预期出现。然后,如果我使用Ctrl + R刷新页面或通过单击刷新按钮,声音管理器似乎不会被初始化。
我创建了这些div:
<div id="pl1" class="ui360" >
<a id="a1" href="#"></a>
</div>
<div id="pl2" class="ui360">
<a id="a2" href="#"></a>
</div>
<div id="pl3" class="ui360">
<a id="a3" href="3"></a>
</div>
并在main.js上加载页面时将执行此代码。
$(function(){
$('#designed-by,#pl1,#pl2,#pl3').hide();
// Loading audio players.
loadpls();
soundManager.setup({url:'../audioPlayer/soundmanager/swf'});
});
这里还有loadpls()函数:
function loadpls(){
// Loading audio players
$.ajax({
url: '../admin/classes/classController.php',
type: 'POST',
data: {method:'loadAudioPl'},
dataType: 'json',
error: function(jqXHR, error, errorThrown){console.log(jqXHR+" "+error+" "+errorThrown);},
success: function(json){
if(json.status == 1){
if(json.url1 != ''){
$('#a1').attr("href", json.url1);
$('#pl1' ).offset({top: json.y1, left: json.x1});
$('#pl1').show();
}
if(json.url2 != ''){
$('#a2').attr("href", json.url2);
$('#pl2' ).offset({top: json.y2, left: json.x2});
$('#pl2').show();
}
if(json.url3 != ''){
$('#a3').attr("href", json.url3);
$('#pl3' ).offset({top: json.y3, left: json.x3});
$('#pl3').show();
}
}
}
});
}
确定。让我们假设它是我们第一次访问该页面。我们在玩家的图标中制作一个“检查元素”。通过查看上面的代码,我们可以看到soundmanager已成功初始化:
<div id="pl1" class="ui360" style="display: block; top: 0px; left: -100px; background-image: none;">
<div class="sm2-360ui">
<canvas class="sm2-canvas" width="50" height="50"></canvas>
<span class="sm2-360btn sm2-360btn-default"></span>
<div class="sm2-timing alignTweak"></div>
<div class="sm2-cover"></div>
</div><a id="a1" href="http://dev.phoebe/audioPlayer/soundmanager/_mp3/rain.mp3" class="sm2_link"></a>
</div>
有些时候,如果我们刷新该页面,音频播放器就会消失,现在页面中某处的'inspect element'结果显示了这一点:
<div id="pl1" class="ui360" style="display: block; top: 0px; left: -100px; background-image: none;">
<a id="a1" href="http://dev.phoebe/audioPlayer/soundmanager/_mp3/rain.mp3"></a>
</div>
我将这种行为翻译为声音管理器的非启动,但我无法进一步解释。此外,我考虑的其他事情是,如果我让控制台(Ctrl + Shift + I)打开,播放器在刷新后会出现更多次。
答案 0 :(得分:0)
所以最后似乎我修好了它。 这是如何。
soundmanager的初始化确实存在问题,可能是因为我使用了这样的代码:
<div id="pl1" class="ui360" >
<a id="a1" href="#"></a>
</div>
这里的问题是在href=""
属性中没有.mp3扩展文件,这就是为什么soundmanager无法初始化。因此,通过将代码更改为上面的代码,不存在test.mp3,似乎按预期工作。
<div id="pl1" class="ui360" >
<a id="a1" href="test.mp3"></a>
</div>