Skip to main content

Cross-platform library to play audio files

Project description

Version 4.0.0

New functionalities:

  • New parameter to control volume

playsound4

playsound4 is a fork of playsound3 that adds native volume control while maintaining the same simple API.

Features

  • Cross-platform audio playback
  • Pure Python
  • Volume control (0-100)
  • Blocking and non-blocking playback
  • Compatible with existing playsound3 code

Cross platform library to play sound files in Python.

Installation

Install via pip:

pip install playsound4

Quick Start

After installation, playing sounds is simple:

from playsound4 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)

# You can play sounds at different volumes
sound = playsound("/path/to/sound/file.mp3", volume=50)

# 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,
	volume: int | None = None,
    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 playsound4 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

playsound4-4.0.0.tar.gz (609.4 kB view details)

Uploaded Source

Built Distribution

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

playsound4-4.0.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file playsound4-4.0.0.tar.gz.

File metadata

  • Download URL: playsound4-4.0.0.tar.gz
  • Upload date:
  • Size: 609.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for playsound4-4.0.0.tar.gz
Algorithm Hash digest
SHA256 e41b54991c1d87e42af2c6a9732796744d46f9533b8923a4121cf4bd638271d2
MD5 040663fff7ffe0b1c5e39ee6f50d8f90
BLAKE2b-256 5795a201e966a708a88861b7674edf78d58b6889b677de9a1bfbbcd5fdcdbd46

See more details on using hashes here.

File details

Details for the file playsound4-4.0.0-py3-none-any.whl.

File metadata

  • Download URL: playsound4-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for playsound4-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7db6817d2904fa1f951a56a6c5f0470b5364b54973b347cfa0ccf247dfb6e15b
MD5 538076bc804d8117258578dadb5c8778
BLAKE2b-256 ac7fe7b7244d9a0acbd72d34135b4aa732aac92e95f64a003d570bc395f6f984

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