-
Notifications
You must be signed in to change notification settings - Fork 17
/
JY.soundManage.js
70 lines (70 loc) · 1.6 KB
/
JY.soundManage.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
JY.soundManage={
movieName:"",
lastUrl :"",
init:function(swfobjec,src,flashId,callback){
this.movieName=flashId;
var self = this;
JY.loadFile(swfobjec,"script",function(){
self.loadSWF(src,callback);
});
},
loadSWF:function (src,callback){
var flashId = this.movieName||"playSound";
var elem = document.createElement('div');
JY.attr(elem ,"id",flashId);
JY.css(elem,{width:'0px',height:'0px',"overflow":'hidden'});
JY.append(document.body,elem);
swfobject.embedSWF(src, flashId, 1, 1, "10.0.0", "",{},{},{},callback);
},
loaded:function(){
this.isload = true;
},
loadSound:function(str,key){
var f = null;
var self = this;
key = key||"";
setTimeout(function(){
if (self.thisMovie(self.movieName)){
self.thisMovie(self.movieName).loadFile(str,key);
self.lastUrl = str;
//f?f.call(self):null;
var timer = setInterval(function(){
if (self.isload){
clearInterval(timer);
f?f.call(self):null;
}
},50);
}
},1000);
return {
done:function(t){
f=t||f;
}
};
},
play:function(str,isLoop){
var self = this;
if (self.thisMovie(self.movieName)){
str = str||this.lastUrl;
isLoop = isLoop||false;
this.thisMovie(this.movieName).onPlay(str,isLoop);
}
return this;
},
stop:function(str){
var self = this;
if (self.thisMovie(self.movieName)){
str = str||this.lastUrl;
this.thisMovie(this.movieName).onStop(str);
}
return this;
},
thisMovie:function(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
}else{
return document[movieName];
}
}
};