Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Python Arcade – Playing Audio file

  • Difficulty Level : Hard
  • Last Updated : 23 Sep, 2021

In this article, we will learn how to play or add audio in our Arcade games using Python.

Playing Audio File

In this example, we want to play our audio whenever the player touches the left or right end of the screen. For this, we are going to use 2 functions of the arcade module.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

  • arcade.load_sound(): We will use this function to load our audio file.

Syntax: arcade.load_sound(file_path, streaming)



Parameters:

file_path: Name of the sound file to load.

streaming : Boolean for determining if we stream the sound or load it all into memory.

Returns: Sound object which can be used by the play_sound() function.

  • arcade.play_sound(): We will use this function to play our audio.

Syntax: arcade.play_sound(sound, volume, pan, loop)

Parameters:

  • sound: Sound loaded by load_sound()
  • volume: Volume of the sound
  • pan: From which part you want to start the audio (-1= left, 0= center, and 1=right)

In the below example, we are going to create a MainGame() class. Inside this class first, we are going to initialize some variables for velocity, x, and y coordinates of the player then we will create 2 functions inside this class.

  • on_draw(): Inside this function, we will draw our player and start the rendering.
  • on_update(): In this function, we will update the x coordinates of the player’s sprite by adding the velocity. After that, if the player crosses the boundary of the screen then we will change the direction of the movement and play the audio using the play_sound() function.

Below is the implementation:

Python3




# Importing arcade module
import arcade
  
# Creating MainGame class       
class MainGame(arcade.Window):
    def __init__(self):
        super().__init__(600, 600, title="Player Movement")
  
        # Initializing the initial x and y coordinated
        self.x = 250 
        self.y = 250
  
        # Initializing a variable to store
        # the velocity of the player
        self.vel = 300
  
    # Creating on_draw() function to draw on the screen
    def on_draw(self):
        arcade.start_render()
  
        # Drawing the rectangle using
        # draw_rectangle_filled function
        arcade.draw_rectangle_filled(self.x, self.y,50, 50,
                                     arcade.color.GREEN )
    # Creating on_update function to
    # update the x coordinate
    def on_update(self,delta_time):
        self.x += self.vel * delta_time
  
        # Changing the direction of
        # movement if player crosses the screen
        if self.x>=550 or self.x<=50:
            self.vel *= -1
  
            # Loading the audio file
            audio = arcade.load_sound('Audio.mp3',False)
  
            # Printing "Playing Audio"
            print("Playing Audio.mp File")
  
            # Playing the audio
            arcade.play_sound(audio,1.0,-1,False)
              
          
# Calling MainGame class       
MainGame()
arcade.run()

Output:




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!