260 likes | 350 Vues
Learn the basics of controlling sound in Flash presentations using ActionScript variables, operators, and methods. Understand how to start, stop, pause, and manipulate sound files efficiently to enhance your interactive content. Explore the nuances between ActionScript versions and best practices for coding sound interactions in Flash animations.
E N D
Flash: Controlling Sound Presentation by Mindy McAdams
ActionScript (so far) • From Lessons 1 through 7: • stop(); • play(); • gotoAndStop("someframelabel"); • gotoAndPlay("otherframelabel"); • The script can be written on a button or on a frame
ActionScript for buttons • If script is on a button: on (release) { stuff here } • Alternatively -- if a button has an instance name, you can put the script on the Timeline this way: rewind_btn.onRelease = function (){ stuff here } on (release) { stuff here } rewind_btn.onRelease = function () { stuff here }
ActionScript & movie clips • If you need to make a movie clip stop playing (if the instance name is clouds_mc) from the main Timeline: • Or if the movie clip needs to tell the main Timeline to stop playing: clouds_mc.stop(); _parent.stop();
New, exciting ActionScript • What is a variable? • A kind of container for data • Each variable has a name (static) • Each variable has a value (dynamic) • Examples of variables (name, left; and value, right): • n = 27; • myColor = "orange";
ActionScript 2.0 variables • Not in the book: • AS 2.0 would like script to be more formal in style • Examples of the initial declaration of variables in AS 2.0: • var n = 27; • var myColor = "orange";
ActionScript 2.0 variables • In fact, AS 2.0 would like things to be EVEN MORE formal: • Examples of the initial declaration of variables in AS 2.0, including “strict data typing”: • var n:Number = 27; • var myColor:String = "orange";
Selecting ActionScript version • To make life easy, when following the book, you can simply change the Publish Settings to AS 1.0 • But eventually, people will use AS 2.0 for everything
ActionScript variables • We should formally declare our variables: • var n = 27; • var myColor = "orange"; • You can do that in AS 1.0 or 2.0 • However – we need not use strict data typing (:Number, :String, etc.)
ActionScript variables • How does a variable work? • var n = 27; • n = n + 1; • if (n == 28) { stuff here } • Another example: • var myColor = "orange"; • if (myColor != " blue") { stuff here }
ActionScript operators • == “is equivalent to” • != “is NOT equivalent to” • > “is greater than” • < “is less than” • >= “is greater than or equal to” • <= “is less than or equal to”
Variables in Lesson 8 (Sound) • The book says: x = new Sound(); • Here the variable is x – and we are declaring it for the first time • So to be more formal and correct: var x = new Sound(); • Only the first time you use x in a movie – do not write var after the first appearance of the variable
Variables in Lesson 8 (Sound) • A variable name can be any word (except the “reserved words”; see pp. 479 - 480) • It’s common to use letters such as x, y, and z as names of variables • It’s also common to use “camel case” in the name -- e.g. mySound, theMusic, etc.
Variables in Lesson 8 • After we have declared a variable (with var), we can use it to do things -- rather like an instance name x.start(0, 0); x.stop(); • These are the basics of audio in Flash • (We’ll get back to this shortly)
Bringing sound into the FLA • The only script difference between the two methods for the Sound object concerns how you associate your audio file with your variable: x.attachSound("crossroads"); • … or … x.loadSound("rainforest.mp3", true); x.attachSound("crossroads"); x.loadSound("rainforest.mp3", true);
External MP3 files (loadSound) • To load an external audio file, the file MUST BE in the MP3 file format • Also, the file must have a sampling rate of one of these three values (on pp. 216 – 217): • 11.025 kHz (doesn’t sound great) • 22.05 kHz (usually best choice) • 44.1 kHz (CD quality; big file size) • Otherwise, you will have distorted sound
Starting and stopping sound • To stop a Sound object represented by the variable name x: x.stop(); • (Exactly like stopping a movie clip) • To play a Sound object (from the beginning): x.start(0, 0); • Script can be on a button or on a frame x.stop(); x.start(0, 0);
Options for starting sound • This will start the sound from the beginning AND play it only once: • - • This will start the sound from the beginning and loop it 100 times: • - • This will start the sound 20 seconds after the beginning and play it only once: • - x.start(0, 0); x.start(0, 100); x.start(20, 0);
Pausing sound • Before you pause an audio file, you must determine how much has already played • Then you will be able to start it (later) from the same point • This property is called position var p; p = Math.floor(x.position/1000);
Pausing sound (2) • Say the sound file had already played for 5.2 seconds (5,200 milliseconds) • This script will get the number 5,200 and divide it by 1,000: • Then it will round down the result to a whole number (not a decimal) • Result: p = 5 p = Math.floor(x.position/1000);
Pausing sound (3) • If you have the value of p, you can use that value to restart the audio file at the correct point after it has been paused: • P • x • If the value of p were 5, then the audio would immediately start playing from the point 5 seconds into the file p = Math.floor(x.position/1000); x.start(p, 0);
Adjusting the volume • If all you need to do is mute the audio (while it continues to play): • - • If you then need to return the audio to the maximum volume: • - • The volume range is exactly 0 to 100 x.setVolume(0); x.setVolume(100);
ActionScript basics • From Lessons 1 through 7: • stop(); • play(); • gotoAndStop("someframelabel"); • gotoAndPlay("otherframelabel"); • You will use these in almost every Flash movie
ActionScript for audio (basics) • From Lesson 8 (x can be any name): • var x = new Sound(); • x.attachSound(); • x.loadSound(); • x.start(0, 0); • x.stop(); • You will use these to control sound in any Flash movie that requires it
ActionScript/audio (advanced) • From Lesson 8 (x can be any name): • var x = new Sound(); • var p = 0; • p = Math.floor(x.position/1000); • x.start(p, 0); • x.setVolume(0); • x.setVolume(100); • You will use these to control sound in conjunction with buttons in the Flash movie
Flash: Controlling Sound The End Presentation by Mindy McAdams > Flash Journalism: Lesson 8