Skip to main content

Cross-platform library to play audio files

Project description

Version 3.0.0

New functionalities:

  • stop sounds by calling sound.stop()
  • check if sound is still playing with sound.is_alive()

playsound3

PyPi version PyPI license

Cross platform library to play sound files in Python.

Installation

Install via pip:

pip install playsound3

Quick Start

After installation, playing sounds is simple:

from playsound3 import playsound

# Play sounds from disk
playsound("/path/to/sound/file.mp3")

# or play sounds from the internet.
playsound("http://url/to/sound/file.mp3")

# You can play sounds in the background
sound = playsound("/path/to/sound/file.mp3", block=False)

# and check if they are still playing
if sound.is_alive():
    print("Sound is still playing!")

# and stop them whenever you like.
sound.stop()

Reference

playsound

def playsound(
    sound: str | Path,
    block: bool = True,
    backend: str | None = None,
) -> Sound

sound (required)
The audio file you want to play (local or URL).

block (optional, default=True)
Determines whether the sound plays synchronously (blocking) or asynchronously (background).

backend (optional, default=None)
Specify which audio backend to use. If None, the best backend is determined automatically.

To see a list of backends supported by your system:

from playsound3 import AVAILABLE_BACKENDS, DEFAULT_BACKEND

print(AVAILABLE_BACKENDS)  # for example: ["gstreamer", "ffmpeg", ...]
print(DEFAULT_BACKEND)  # for example: "gstreamer"

Sound

playsound returns a Sound object for playback control:

Method Description
.is_alive() Checks if the sound is currently playing.
.wait() Blocks execution until playback finishes.
.stop() Immediately stops playback.

Supported systems

  • Linux
    • GStreamer
    • ALSA (aplay and mpg123)
  • Windows
    • WMPlayer
    • winmm.dll
  • macOS
    • AppKit
    • afplay
  • Multiplatform
    • FFmpeg

Supported audio formats

The bare minimum supported by every backend are .mp3 and .wav files. Using them will keep your program compatible across different systems. To see an exhaustive list of extensions supported by a backend, refer to their respective documentation.

Fork information

This repository was originally forked from playsound library created by Taylor Marks. The original library is not maintained anymore and doesn't accept pull requests. This library is a major rewrite of its original.

Feel free to create an issue or contribute to playsound3!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

playsound3-3.3.0.tar.gz (608.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

playsound3-3.3.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file playsound3-3.3.0.tar.gz.

File metadata

  • Download URL: playsound3-3.3.0.tar.gz
  • Upload date:
  • Size: 608.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for playsound3-3.3.0.tar.gz
Algorithm Hash digest
SHA256 9c9a0b14d1b46cef909ae315503592e0705d5cf9d90ba4e6ffd44b4d47c60523
MD5 5abf2d8340273ec43ddb09c9d82eb78c
BLAKE2b-256 951077205c8e76de5889a75d35ce9b3394a3168628cb2dcb5970f7a908e7fde6

See more details on using hashes here.

File details

Details for the file playsound3-3.3.0-py3-none-any.whl.

File metadata

  • Download URL: playsound3-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for playsound3-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 56e30ca5c482ff102436a5cd456e49c3490e57bc3e97d6c09b5d189b5146e371
MD5 9589f4bebfdae5b169be2eee1eb34380
BLAKE2b-256 6f096ea98a9c7b8444b2727b5ba86f4c9266b218e7bfabe79f013a41580c20d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page