Add files via upload
This commit is contained in:
parent
deb4fcc069
commit
a7808f6aac
28 changed files with 1571 additions and 3 deletions
92
build/lib/pygwin/mixer.py
Normal file
92
build/lib/pygwin/mixer.py
Normal file
|
@ -0,0 +1,92 @@
|
|||
from pygwin._pg import pg as _pg
|
||||
import os as _os
|
||||
import tempfile as _tf
|
||||
|
||||
ffmpeg = None
|
||||
|
||||
class sound:
|
||||
def __init__(self, path):
|
||||
if not (path.endswith('.wav') or path.endswith('.ogg')):
|
||||
try:
|
||||
from pydub import AudioSegment as _as
|
||||
if ffmpeg != None:
|
||||
_as.ffmpeg = ffmpeg
|
||||
_as.converter = ffmpeg
|
||||
sound = _as.from_file(path, _os.path.splitext(path)[1])
|
||||
path = _tf.mkstemp('.wav')
|
||||
sound.export(path, format="wav")
|
||||
except:
|
||||
print('Set ffmpeg to path so that you don'+\
|
||||
"'t have to convert the file to "+\
|
||||
'".wav". If you have installed, but the error still appears, write down the path to ffmpeg.exe in plugin.ffmpeg.')
|
||||
self._sound = _pg.mixer.Sound(path)
|
||||
def play(self):
|
||||
self._sound.play()
|
||||
def stop(self):
|
||||
self._sound.stop()
|
||||
def volume():
|
||||
def fget(self):
|
||||
return self._sound.get_volume()
|
||||
def fset(self, value):
|
||||
if type(value) == int:
|
||||
self._sound.set_volume(value)
|
||||
def fdel(self):
|
||||
pass
|
||||
return locals()
|
||||
volume = property(**volume())
|
||||
@property
|
||||
def length(self):
|
||||
return self._sound.get_length()
|
||||
|
||||
class music:
|
||||
def __init__(self, path):
|
||||
if path.endswith('.wav') or path.endswith('.ogg'):
|
||||
self._path = path
|
||||
else:
|
||||
try:
|
||||
from pydub import AudioSegment as _as
|
||||
if ffmpeg != None:
|
||||
_as.ffmpeg = ffmpeg
|
||||
_as.converter = ffmpeg
|
||||
sound = _as.from_file(path, _os.path.splitext(path)[1])
|
||||
path = _tf.mkstemp('.wav')
|
||||
sound.export(path, format="wav")
|
||||
except:
|
||||
print('Set ffmpeg to path so that you don'+\
|
||||
"'t have to convert the file to "+\
|
||||
'".wav". If you have installed, but the error still appears, write down the path to ffmpeg.exe in plugin.ffmpeg.')
|
||||
_pg.mixer.music.load(path)
|
||||
def play(self, loops=0):
|
||||
_pg.mixer.music.play(loops)
|
||||
def stop(self):
|
||||
_pg.mixer.music.stop()
|
||||
def restart(self):
|
||||
_pg.mixer.music.rewind()
|
||||
def pause(self):
|
||||
_pg.mixer.music.pause()
|
||||
def release(self):
|
||||
_pg.mixer.music.unpause()
|
||||
def queue(self):
|
||||
_pg.mixer.music.queue(self._path)
|
||||
|
||||
def volume():
|
||||
def fget(self):
|
||||
return _pg.mixer.music.get_volume()
|
||||
def fset(self, value):
|
||||
if type(value) == int:
|
||||
_pg.mixer.music.set_volume(value)
|
||||
def fdel(self):
|
||||
pass
|
||||
return locals()
|
||||
volume = property(**volume())
|
||||
|
||||
def pos():
|
||||
def fget(self):
|
||||
return _pg.mixer.music.get_pos()
|
||||
def fset(self, value):
|
||||
if type(value) == int:
|
||||
_pg.mixer.music.set_pos(value)
|
||||
def fdel(self):
|
||||
pass
|
||||
return locals()
|
||||
pos = property(**pos())
|
Loading…
Add table
Add a link
Reference in a new issue