Flash Volume Controler ActionScript 2

[kml_flashembed movie="/labs/swf/volumeExperiment.swf" height="150" width="450" /]

I had a good friend ask me if I knew of a resource for a volume controler, and I didn't know of any tutorial or code of the top of my head so I went ahead and wrote it for AS2 so I hope this can help some others out there.

Actionscript:
  1. import mx.utils.Delegate;
  2.  
  3. //Set Variables
  4. var mySnd        :Sound;
  5. var levelSpeed    :Number;
  6. var musicOn        :Boolean;
  7.  
  8. //SetUp Items
  9.  
  10. mySnd = new Sound();
  11. mySnd.attachSound("soundLoop");
  12. levelSpeed = 5;
  13. volLevel_txt.text = 100;
  14. volSpeed_txt.text = levelSpeed;
  15. musicOn = false;
  16.  
  17. //Buttons
  18. volumeOn_mc.onRelease     = Delegate.create ( this, volOn);
  19. volumeOff_mc.onRelease     = Delegate.create ( this, volOff);
  20. control_mc.onRelease     = Delegate.create ( this, controls);
  21.  
  22. //Functioins  ** DANGER :)
  23. function volOn() : Void {
  24.  
  25. var volLev = getVolume();
  26.  
  27. onEnterFrame = function() {
  28.  
  29. var volLev = getVolume();
  30. var levelSpeed = getSpeed();
  31.  
  32. if (volLev <100 ) {
  33.  
  34. setVolume( volLev + levelSpeed);
  35. }else{
  36.  
  37. setVolume(100);
  38. delete onEnterFrame;
  39. trace("sound on");
  40. }
  41. }
  42.  
  43. };
  44.  
  45. function volOff() : Void {
  46.  
  47. onEnterFrame = function() {
  48.  
  49. var volLev = getVolume();
  50. var levelSpeed = getSpeed();
  51.  
  52. if (volLev> 0 ) {
  53.  
  54. setVolume( volLev - levelSpeed);
  55. }else{
  56.  
  57. setVolume(0);
  58. delete onEnterFrame;
  59. trace("sound off");
  60. }
  61. }
  62. };
  63.  
  64. function getSpeed():Number {
  65. return (volSpeed_txt.text> 100 ? (100,setSpeed(100)) : Number(volSpeed_txt.text) );
  66. }
  67.  
  68. function setSpeed(val) {
  69. volSpeed_txt.text = val
  70.  
  71. }
  72. function getVolume():Number {
  73.  
  74. return mySnd.getVolume();
  75. }
  76.  
  77. function setVolume(val) :Void {
  78.  
  79. mySnd.setVolume(val);
  80. volLevel_txt.text = val;
  81. }
  82.  
  83. function controls() {
  84.  
  85. if (musicOn == false) {
  86. control_mc.gotoAndStop("on");
  87. mySnd.start(0,999);
  88. musicOn = true;
  89. }else {
  90. control_mc.gotoAndStop("off");
  91. mySnd.stop();
  92. musicOn = false;
  93. }
  94. }

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.