Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. This file declares a class, `Player`, instantiates it, and assigns it to a global `player` variable.
- 2. The `Player` class contains four methods:
- - `constructor()`
- - `playPause()`
- - `skipTo()`
- - `setVolume()`
- 3. The `constructor()` method sets initial values for the `currentlyPlaying`, `playState`, `volume`, and `soundObject` properties.
- - `currentlyPlaying` is set to the first item in `album.songs`.
- - The initial `playState` is `"stopped"`.
- - The `volume` is set to the number `80`.
- - The `soundObject` instantiates a new `buzz.sound` object using the `soundFileUrl` property of `this.currentlyPlaying`. The `buzz` variable doesn't appear to be initialized here, so presumably it's a dependency loaded elsewhere.
- 4. The `playPause()` method accepts one parameter, `song`. It sets it to `this.currentlyPlaying` by default. It checks to see if `this.currentlyPlaying` is different from `song`, and if so, it:
- - Stops the `soundObject` property.
- - Removes the `"playing"` and `"paused"` classes from the `element` property of `this.currentlyPlaying`.
- - Sets `this.currentlyPlaying` to the function's parameter, `song`.
- - Changes the `playState` property to `"stopped"`.
- - Instantiates a new sound object using `this.currentlyPlaying`, which was just updated to `song`.
- - If `playState` has the property of `"paused"` or `"stopped"` then
- -Sets the volume of the `soundObject`
- -Plays the `soundObject with the `play` function
- -Changes the `playState` to `playing`
- -Removes the `paused` class from `this.currentlyPlaying` and replaces it with the `playing` class
- -if the `playstate` is anything other than `"paused"` or `"stopped"` then
- -The `this.soundObject` preforms the `pause` function
- -The `playState` is changed to `paused`
- -Removes the `playing` class from `this.currentlyPlaying` and replaces it with `paused`
- 5. The `skipTo()` method accepts one parameter, `percent`. It checks to see if `this.playState` does not equal `playing` and if it doesn't then it will have a return.
- -The `setTime` of `this.soundObject` will be shown as a percentage based on the entire duration of `this.soundObject`
- 6. The `setVolume()` method will accept one parameter, `percent`.
- -`this.volume` will be set to `percent`
- -`this.soundObject` will set the volume based on the `percent`
- 7. The constant `player` is reassigned to `Player()`
Add Comment
Please, Sign In to add comment