本文整理汇总了Python中alsaaudio.PCM_NORMAL属性的典型用法代码示例。如果您正苦于以下问题:Python alsaaudio.PCM_NORMAL属性的具体用法?Python alsaaudio.PCM_NORMAL怎么用?Python alsaaudio.PCM_NORMAL使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类alsaaudio
的用法示例。
在下文中一共展示了alsaaudio.PCM_NORMAL属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def start():
last = GPIO.input(button)
while True:
val = GPIO.input(button)
GPIO.wait_for_edge(button, GPIO.FALLING) # we wait for the button to be pressed
GPIO.output(lights[1], GPIO.HIGH)
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NORMAL, device)
inp.setchannels(1)
inp.setrate(16000)
inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
inp.setperiodsize(500)
audio = ""
while(GPIO.input(button)==0): # we keep recording while the button is pressed
l, data = inp.read()
if l:
audio += data
rf = open(path+'recording.wav', 'w')
rf.write(audio)
rf.close()
inp = None
alexa()
示例2: run
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def run(self):
# open audio file and device
audio_file = wave.open(self.soundfile, 'rb')
audio_device = alsaaudio.PCM(alsaaudio.PCM_PLAYBACK, alsaaudio.PCM_NORMAL, 'default')
# we are hard coding the audio format!
audio_device.setchannels(2)
audio_device.setrate(44100)
audio_device.setformat(alsaaudio.PCM_FORMAT_S16_LE)
audio_device.setperiodsize(980)
# play the audio
audio_data = audio_file.readframes(980)
while audio_data:
audio_device.write(audio_data)
audio_data = audio_file.readframes(980)
audio_file.close()
# Class for blinking the leds
示例3: acquire
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def acquire(self):
if self._session.is_active():
try:
pcm_args = {
'type': alsa.PCM_PLAYBACK,
'mode': alsa.PCM_NORMAL,
}
if self._args.playback_device != 'default':
pcm_args['device'] = self._args.playback_device
else:
pcm_args['card'] = self._args.device
pcm = alsa.PCM(**pcm_args)
pcm.setchannels(CHANNELS)
pcm.setrate(RATE)
pcm.setperiodsize(PERIODSIZE)
pcm.setformat(alsa.PCM_FORMAT_S16_LE)
self._device = pcm
print "AlsaSink: device acquired"
except alsa.ALSAAudioError as error:
print "Unable to acquire device: ", error
self.release()
示例4: open_stream
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def open_stream(self, bits, channels, rate, chunksize=1024, output=True):
# Check if format is supported
is_supported_fmt = self.supports_format(bits, channels, rate,
output=output)
if not is_supported_fmt:
msg_fmt = ("ALSAAudioDevice ({name}) doesn't support " +
"%s format (Int{bits}, {channels}-channel at" +
" {rate} Hz)") % ('output' if output else 'input')
msg = msg_fmt.format(name=self.name,
bits=bits,
channels=channels,
rate=rate)
self._logger.critical(msg)
raise Exception(msg)
# Everything looks fine, open the PCM stream
pcm_type = alsaaudio.PCM_PLAYBACK if output else alsaaudio.PCM_CAPTURE
stream = alsaaudio.PCM(type=pcm_type,
mode=alsaaudio.PCM_NORMAL,
device=self.name)
stream.setchannels(channels)
stream.setrate(rate)
stream.setformat(bits_to_samplefmt(bits))
stream.setperiodsize(chunksize)
self._logger.debug("%s stream opened on device '%s' (%d Hz, %d " +
"channel, %d bit)", "output" if output else "input",
self.slug, rate, channels, bits)
try:
yield stream
finally:
stream.close()
self._logger.debug("%s stream closed on device '%s'",
"output" if output else "input", self.slug)
示例5: play
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def play(self, file_path):
if self.convert:
self.convert_mp3_to_wav(file_path_mp3=file_path)
f = wave.open(file_path, 'rb')
pcm_type = alsaaudio.PCM_PLAYBACK
stream = alsaaudio.PCM(type=pcm_type,
mode=alsaaudio.PCM_NORMAL,
device=self.device)
# Set attributes
stream.setchannels(f.getnchannels())
stream.setrate(f.getframerate())
bits = f.getsampwidth()*8
stream.setformat(bits_to_samplefmt(bits))
stream.setperiodsize(CHUNK)
logger.debug("[PyAlsaAudioPlayer] %d channels, %d sampling rate, %d bit" % (f.getnchannels(),
f.getframerate(),
bits))
data = f.readframes(CHUNK)
while data:
# Read data from stdin
stream.write(data)
data = f.readframes(CHUNK)
f.close()
stream.close()
示例6: open_stream
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def open_stream(self, bits, channels, rate, chunksize=1024, output=True):
# Check if format is supported
is_supported_fmt = self.supports_format(bits, channels, rate,
output=output)
if not is_supported_fmt:
msg_fmt = ("ALSAAudioDevice ({name}) doesn't support " +
"%s format (Int{bits}, {channels}-channel at" +
" {rate} Hz)") % ('output' if output else 'input')
msg = msg_fmt.format(name=self.name,
bits=bits,
channels=channels,
rate=rate)
self._logger.critical(msg)
raise Exception(msg)
# Everything looks fine, open the PCM stream
pcm_type = alsaaudio.PCM_PLAYBACK if output else alsaaudio.PCM_CAPTURE
stream = alsaaudio.PCM(type=pcm_type,
mode=alsaaudio.PCM_NORMAL,
device='default')
stream.setchannels(channels)
stream.setrate(rate)
stream.setformat(bits_to_samplefmt(bits))
stream.setperiodsize(chunksize)
self._logger.debug("%s stream opened on device '%s' (%d Hz, %d " +
"channel, %d bit)", "output" if output else "input",
self.slug, rate, channels, bits)
try:
yield stream
finally:
stream.close()
self._logger.debug("%s stream closed on device '%s'",
"output" if output else "input", self.slug)
示例7: _record
# 需要导入模块: import alsaaudio [as 别名]
# 或者: from alsaaudio import PCM_NORMAL [as 别名]
def _record(self, cb):
inp = None
try:
inp = alsaaudio.PCM(
alsaaudio.PCM_CAPTURE,
alsaaudio.PCM_NORMAL,
device=self.record_device,
)
inp.setchannels(1)
inp.setrate(16000)
inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
inp.setperiodsize(1600) # 100ms
finalize = False
while not finalize:
l, data = inp.read()
if not self.currently_recording:
finalize = True
if l or finalize:
# self.recorded_raw.write(data)
cb(data, finalize)
except Exception:
print(traceback.format_exc())
finally:
self.currently_recording = False
if inp:
inp.close()