Changeset 1259
- Timestamp:
- 09/01/10 03:49:53 (3 years ago)
- Location:
- branches/html5
- Files:
-
- 3 edited
-
jwplayer.html5.js (modified) (9 diffs)
-
src/html5/jwplayer.html5.display.js (modified) (6 diffs)
-
src/html5/jwplayer.html5.utils.animations.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/html5/jwplayer.html5.js
r1258 r1259 1199 1199 var _width; 1200 1200 var _height; 1201 var _degreesRotated; 1202 var _rotationInterval; 1203 var _bufferRotation = api.skin.getComponentSettings("display").bufferrotation === undefined ? 15 : parseInt(api.skin.getComponentSettings("display").bufferrotation, 10); 1204 var _bufferInterval = api.skin.getComponentSettings("display").bufferinterval === undefined ? 100 : parseInt(api.skin.getComponentSettings("display").bufferinterval, 10); 1201 1205 config.screencolor = (api.skin.getComponentSettings("display").backgroundcolor === undefined) ? config.screencolor : api.skin.getComponentSettings("display").backgroundcolor; 1202 config.screencolor = (config.screencolor === undefined) ? "" : config.screencolor ;1206 config.screencolor = (config.screencolor === undefined) ? "" : config.screencolor.replace("0x", "#"); 1203 1207 var _elements = _initializeDisplayElements(); 1204 1208 api.jwAddEventListener(jwplayer.api.events.JWPLAYER_PLAYER_STATE, _stateHandler); … … 1213 1217 _display.display = createElement("div", "display"); 1214 1218 _display.display_image = createElement("div", "display_image"); 1215 _display.display_icon = createElement("img", "display_icon"); 1216 _display.display_icon.src = api.skin.getSkinElement("display", "playIcon").src; 1217 _display.display_icon.alt = "Click to play video"; 1219 _display.display_icon = createElement("div", "display_icon"); 1218 1220 _display.display_iconBackground = createElement("div", "display_iconBackground"); 1219 1221 _display.logo = createElement("div", "logo"); … … 1366 1368 1367 1369 1368 function _setIcon(path) {1369 _display.display_icon.src = path;1370 }1371 1372 1373 function _animate(element, state) {1374 var speed = "slow";1375 if (!_display.animate) {1376 return;1377 }1378 if (state) {1379 element.slideDown(speed, function() {1380 _animate(element);1381 });1382 } else {1383 element.slideUp(speed, function() {1384 _animate(element, true);1385 });1386 }1387 }1388 1389 1390 1370 function _setDisplayIcon(newIcon) { 1391 1371 _show(_display.display_iconBackground); 1392 _display.display_icon.s rc = api.skin.getSkinElement("display", newIcon).src;1372 _display.display_icon.style["background-image"] = (['url(', api.skin.getSkinElement("display", newIcon).src, ')']).join(''); 1393 1373 _css(_display.display_icon, { 1394 1374 display: "block", 1395 top: (api.skin.getSkinElement("display", "background").height - api.skin.getSkinElement("display", newIcon).height) / 2 + "px", 1396 left: (api.skin.getSkinElement("display", "background").width - api.skin.getSkinElement("display", newIcon).width) / 2 + "px" 1375 width: api.skin.getSkinElement("display", newIcon).width, 1376 height: api.skin.getSkinElement("display", newIcon).height, 1377 top: (api.skin.getSkinElement("display", "background").height - api.skin.getSkinElement("display", newIcon).height) / 2, 1378 left: (api.skin.getSkinElement("display", "background").width - api.skin.getSkinElement("display", newIcon).width) / 2 1397 1379 }); 1380 if (api.skin.getSkinElement("display", newIcon + "Over") !== undefined) { 1381 _display.display_icon.onmouseover = function(evt) { 1382 evt.stopPropagation(); 1383 _display.display_icon.style["background-image"] = ["url(", api.skin.getSkinElement("display", newIcon + "Over").src, ")"].join(""); 1384 }; 1385 _display.display_icon.onmouseout = function(evt) { 1386 evt.stopPropagation(); 1387 _display.display_icon.style["background-image"] = ["url(", api.skin.getSkinElement("display", newIcon).src, ")"].join(""); 1388 }; 1389 } else { 1390 _display.display_icon.onmouseover = undefined; 1391 _display.display_icon.onmouseout = undefined; 1392 } 1398 1393 } 1399 1394 … … 1404 1399 1405 1400 function _stateHandler(obj) { 1406 _display.animate = false; 1401 if (_rotationInterval !== undefined) { 1402 clearInterval(_rotationInterval); 1403 _rotationInterval = undefined; 1404 jwplayer.html5.utils.animations.rotate(_display.display_icon, 0); 1405 } 1407 1406 switch (api.jwGetState()) { 1408 1407 case jwplayer.api.events.state.BUFFERING: 1409 _show(_display.logo); 1410 setTimeout(function() { 1411 _hide(_display.logo); 1412 //.fadeOut(_logoDefaults.out * 1000); 1413 }, _logoDefaults.timeout * 1000); 1408 jwplayer.html5.utils.fadeTo(_display.logo, 0, _logoDefaults.timeout, 1); 1414 1409 _setDisplayIcon("bufferIcon"); 1415 _d isplay.animate = true;1416 // TODO: Buffer Icon rotation1417 if (false) {1418 _animate(_display.display_iconBackground);1419 } 1420 _ hide(_display.display_iconBackground);1410 _degreesRotated = 0; 1411 _rotationInterval = setInterval(function() { 1412 _degreesRotated += _bufferRotation; 1413 jwplayer.html5.utils.animations.rotate(_display.display_icon, _degreesRotated % 360); 1414 }, _bufferInterval); 1415 _setDisplayIcon("bufferIcon"); 1421 1416 break; 1422 1417 case jwplayer.api.events.state.PAUSED: 1423 _show(_display.logo);1418 jwplayer.html5.utils.fadeTo(_display.logo, 1, 0, 0); 1424 1419 _css(_display.display_image, { 1425 1420 background: "transparent no-repeat center center" … … 1429 1424 break; 1430 1425 case jwplayer.api.events.state.IDLE: 1431 _ hide(_display.logo);1426 _display.logo.style.display = "block"; 1432 1427 var background = api.jwGetPlaylist()[api.jwGetItem()].image === "" ? config.screencolor : config.screencolor + " url('" + jwplayer.html5.utils.getAbsolutePath(api.jwGetPlaylist()[api.jwGetItem()].image) + "')"; 1433 1428 _css(_display.display_image, { … … 1451 1446 1452 1447 } 1453 _show(_display.logo); 1454 setTimeout(function() { 1455 _hide(_display.logo); 1456 }, _logoDefaults.timeout * 1000); 1448 _display.logo.style.display = "block"; 1449 jwplayer.html5.utils.fadeTo(_display.logo, 0, _logoDefaults.timeout, 1); 1457 1450 _css(_display.display_image, { 1458 1451 background: "transparent no-repeat center center" … … 2574 2567 */ 2575 2568 (function(jwplayer) { 2569 var _animations = {}; 2570 2576 2571 jwplayer.html5.utils.animations = function() { 2577 2572 }; … … 2590 2585 2591 2586 jwplayer.html5.utils.animations.rotate = function(domelement, deg) { 2592 transform(domelement, ["rotate(", deg, "deg)"].join(""));2587 jwplayer.html5.utils.animations.transform(domelement, ["rotate(", deg, "deg)"].join("")); 2593 2588 }; 2594 2589 2595 2590 jwplayer.html5.utils.fadeTo = function(domelement, endAlpha, time, startAlpha, startTime) { 2591 // Interrupting 2592 if (_animations[domelement] != startTime && startTime !== undefined){ 2593 return; 2594 } 2596 2595 var currentTime = new Date().getTime(); 2597 2596 if (startAlpha === undefined) { … … 2602 2601 } 2603 2602 if (domelement.style.opacity == endAlpha && domelement.style.opacity !== ""){ 2604 alert(domelement.style.opacity+":"+endAlpha);2605 2603 return; 2606 2604 } 2607 2605 if (startTime === undefined) { 2608 2606 startTime = currentTime; 2607 _animations[domelement] = startTime; 2609 2608 } 2610 2609 var percentTime = (currentTime - startTime) / (time * 1000); 2610 percentTime = percentTime > 1 ? 1 : percentTime; 2611 2611 var delta = endAlpha - startAlpha; 2612 2612 var alpha = startAlpha + (percentTime * delta); -
branches/html5/src/html5/jwplayer.html5.display.js
r1258 r1259 40 40 var _width; 41 41 var _height; 42 var _degreesRotated; 43 var _rotationInterval; 44 var _bufferRotation = api.skin.getComponentSettings("display").bufferrotation === undefined ? 15 : parseInt(api.skin.getComponentSettings("display").bufferrotation, 10); 45 var _bufferInterval = api.skin.getComponentSettings("display").bufferinterval === undefined ? 100 : parseInt(api.skin.getComponentSettings("display").bufferinterval, 10); 42 46 config.screencolor = (api.skin.getComponentSettings("display").backgroundcolor === undefined) ? config.screencolor : api.skin.getComponentSettings("display").backgroundcolor; 43 config.screencolor = (config.screencolor === undefined) ? "" : config.screencolor ;47 config.screencolor = (config.screencolor === undefined) ? "" : config.screencolor.replace("0x", "#"); 44 48 var _elements = _initializeDisplayElements(); 45 49 api.jwAddEventListener(jwplayer.api.events.JWPLAYER_PLAYER_STATE, _stateHandler); … … 54 58 _display.display = createElement("div", "display"); 55 59 _display.display_image = createElement("div", "display_image"); 56 _display.display_icon = createElement("img", "display_icon"); 57 _display.display_icon.src = api.skin.getSkinElement("display", "playIcon").src; 58 _display.display_icon.alt = "Click to play video"; 60 _display.display_icon = createElement("div", "display_icon"); 59 61 _display.display_iconBackground = createElement("div", "display_iconBackground"); 60 62 _display.logo = createElement("div", "logo"); … … 207 209 208 210 209 function _setIcon(path) {210 _display.display_icon.src = path;211 }212 213 214 function _animate(element, state) {215 var speed = "slow";216 if (!_display.animate) {217 return;218 }219 if (state) {220 element.slideDown(speed, function() {221 _animate(element);222 });223 } else {224 element.slideUp(speed, function() {225 _animate(element, true);226 });227 }228 }229 230 231 211 function _setDisplayIcon(newIcon) { 232 212 _show(_display.display_iconBackground); 233 _display.display_icon.s rc = api.skin.getSkinElement("display", newIcon).src;213 _display.display_icon.style["background-image"] = (['url(', api.skin.getSkinElement("display", newIcon).src, ')']).join(''); 234 214 _css(_display.display_icon, { 235 215 display: "block", 236 top: (api.skin.getSkinElement("display", "background").height - api.skin.getSkinElement("display", newIcon).height) / 2 + "px", 237 left: (api.skin.getSkinElement("display", "background").width - api.skin.getSkinElement("display", newIcon).width) / 2 + "px" 216 width: api.skin.getSkinElement("display", newIcon).width, 217 height: api.skin.getSkinElement("display", newIcon).height, 218 top: (api.skin.getSkinElement("display", "background").height - api.skin.getSkinElement("display", newIcon).height) / 2, 219 left: (api.skin.getSkinElement("display", "background").width - api.skin.getSkinElement("display", newIcon).width) / 2 238 220 }); 221 if (api.skin.getSkinElement("display", newIcon + "Over") !== undefined) { 222 _display.display_icon.onmouseover = function(evt) { 223 evt.stopPropagation(); 224 _display.display_icon.style["background-image"] = ["url(", api.skin.getSkinElement("display", newIcon + "Over").src, ")"].join(""); 225 }; 226 _display.display_icon.onmouseout = function(evt) { 227 evt.stopPropagation(); 228 _display.display_icon.style["background-image"] = ["url(", api.skin.getSkinElement("display", newIcon).src, ")"].join(""); 229 }; 230 } else { 231 _display.display_icon.onmouseover = undefined; 232 _display.display_icon.onmouseout = undefined; 233 } 239 234 } 240 235 … … 245 240 246 241 function _stateHandler(obj) { 247 _display.animate = false; 242 if (_rotationInterval !== undefined) { 243 clearInterval(_rotationInterval); 244 _rotationInterval = undefined; 245 jwplayer.html5.utils.animations.rotate(_display.display_icon, 0); 246 } 248 247 switch (api.jwGetState()) { 249 248 case jwplayer.api.events.state.BUFFERING: 250 _show(_display.logo); 251 setTimeout(function() { 252 _hide(_display.logo); 253 //.fadeOut(_logoDefaults.out * 1000); 254 }, _logoDefaults.timeout * 1000); 249 jwplayer.html5.utils.fadeTo(_display.logo, 0, _logoDefaults.timeout, 1); 255 250 _setDisplayIcon("bufferIcon"); 256 _d isplay.animate = true;257 // TODO: Buffer Icon rotation258 if (false) {259 _animate(_display.display_iconBackground);260 } 261 _ hide(_display.display_iconBackground);251 _degreesRotated = 0; 252 _rotationInterval = setInterval(function() { 253 _degreesRotated += _bufferRotation; 254 jwplayer.html5.utils.animations.rotate(_display.display_icon, _degreesRotated % 360); 255 }, _bufferInterval); 256 _setDisplayIcon("bufferIcon"); 262 257 break; 263 258 case jwplayer.api.events.state.PAUSED: 264 _show(_display.logo);259 jwplayer.html5.utils.fadeTo(_display.logo, 1, 0, 0); 265 260 _css(_display.display_image, { 266 261 background: "transparent no-repeat center center" … … 270 265 break; 271 266 case jwplayer.api.events.state.IDLE: 272 _ hide(_display.logo);267 _display.logo.style.display = "block"; 273 268 var background = api.jwGetPlaylist()[api.jwGetItem()].image === "" ? config.screencolor : config.screencolor + " url('" + jwplayer.html5.utils.getAbsolutePath(api.jwGetPlaylist()[api.jwGetItem()].image) + "')"; 274 269 _css(_display.display_image, { … … 292 287 293 288 } 294 _show(_display.logo); 295 setTimeout(function() { 296 _hide(_display.logo); 297 }, _logoDefaults.timeout * 1000); 289 _display.logo.style.display = "block"; 290 jwplayer.html5.utils.fadeTo(_display.logo, 0, _logoDefaults.timeout, 1); 298 291 _css(_display.display_image, { 299 292 background: "transparent no-repeat center center" -
branches/html5/src/html5/jwplayer.html5.utils.animations.js
r1253 r1259 6 6 */ 7 7 (function(jwplayer) { 8 var _animations = {}; 9 8 10 jwplayer.html5.utils.animations = function() { 9 11 }; … … 22 24 23 25 jwplayer.html5.utils.animations.rotate = function(domelement, deg) { 24 transform(domelement, ["rotate(", deg, "deg)"].join(""));26 jwplayer.html5.utils.animations.transform(domelement, ["rotate(", deg, "deg)"].join("")); 25 27 }; 26 28 27 29 jwplayer.html5.utils.fadeTo = function(domelement, endAlpha, time, startAlpha, startTime) { 30 // Interrupting 31 if (_animations[domelement] != startTime && startTime !== undefined){ 32 return; 33 } 28 34 var currentTime = new Date().getTime(); 29 35 if (startAlpha === undefined) { … … 34 40 } 35 41 if (domelement.style.opacity == endAlpha && domelement.style.opacity !== ""){ 36 alert(domelement.style.opacity+":"+endAlpha);37 42 return; 38 43 } 39 44 if (startTime === undefined) { 40 45 startTime = currentTime; 46 _animations[domelement] = startTime; 41 47 } 42 48 var percentTime = (currentTime - startTime) / (time * 1000); 49 percentTime = percentTime > 1 ? 1 : percentTime; 43 50 var delta = endAlpha - startAlpha; 44 51 var alpha = startAlpha + (percentTime * delta);
Note: See TracChangeset
for help on using the changeset viewer.
