PlayButton.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. define("dojox/av/widget/PlayButton", ['dojo', 'dijit', 'dijit/_Widget', 'dijit/_TemplatedMixin'],function(dojo, dijit){
  2. dojo.declare("dojox.av.widget.PlayButton", [dijit._Widget, dijit._TemplatedMixin], {
  3. // summary:
  4. // A Play/Pause button widget to use with dojox.av.widget.Player
  5. //
  6. templateString: dojo.cache("dojox.av.widget","resources/PlayButton.html"),
  7. //
  8. postCreate: function(){
  9. // summary:
  10. // Intialize button.
  11. this.showPlay();
  12. },
  13. setMedia: function(/* Object */med){
  14. // summary:
  15. // A common method to set the media in all Player widgets.
  16. // May do connections and initializations.
  17. //
  18. this.media = med;
  19. dojo.connect(this.media, "onEnd", this, "showPlay");
  20. dojo.connect(this.media, "onStart", this, "showPause");
  21. },
  22. onClick: function(){
  23. // summary:
  24. // Fired on play or pause click.
  25. //
  26. if(this._mode=="play"){
  27. this.onPlay();
  28. }else{
  29. this.onPause();
  30. }
  31. },
  32. onPlay: function(){
  33. // summary:
  34. // Fired on play click.
  35. //
  36. if(this.media){
  37. this.media.play();
  38. }
  39. this.showPause();
  40. },
  41. onPause: function(){
  42. // summary:
  43. // Fired on pause click.
  44. //
  45. if(this.media){
  46. this.media.pause();
  47. }
  48. this.showPlay();
  49. },
  50. showPlay: function(){
  51. // summary:
  52. // Toggles the pause button invisible and the play
  53. // button visible..
  54. //
  55. this._mode = "play";
  56. dojo.removeClass(this.domNode, "Pause");
  57. dojo.addClass(this.domNode, "Play");
  58. },
  59. showPause: function(){
  60. // summary:
  61. // Toggles the play button invisible and the pause
  62. // button visible.
  63. //
  64. this._mode = "pause";
  65. dojo.addClass(this.domNode, "Pause");
  66. dojo.removeClass(this.domNode, "Play");
  67. }
  68. });
  69. return dojox.av.widget.PlayButton;
  70. });