Skip to content

Instantly share code, notes, and snippets.

@Roxiun
Created February 1, 2020 04:25
Show Gist options
  • Save Roxiun/f5f587cea622740cc808fe4fde791e5d to your computer and use it in GitHub Desktop.
Save Roxiun/f5f587cea622740cc808fe4fde791e5d to your computer and use it in GitHub Desktop.
import pyaudio
import wave
import sys
from playsound import playsound
chunk = 1024
class AudioFile:
chunk = 1024
def __init__(self, file):
""" Init audio stream """
self.wf = wave.open(file, 'rb')
self.p = pyaudio.PyAudio()
self.stream = self.p.open(
format = self.p.get_format_from_width(self.wf.getsampwidth()),
channels = self.wf.getnchannels(),
rate = self.wf.getframerate(),
output = True
)
def play(self):
""" Play entire file """
data = self.wf.readframes(self.chunk)
while data != '':
self.stream.write(data)
data = self.wf.readframes(self.chunk)
def close(self):
""" Graceful shutdown """
self.stream.close()
self.p.terminate()
# Usage example for pyaudio
name = 'location_goes_here'
s = Sound()
s.read(name)
s.play()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment