warning.py 1.73 KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#  warning.py
#  
#  Copyright 2018  <pi@raspberrypi>
#  
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.
#  
#  

import pyaudio
import wave
import sys
from operator import eq
CHUNK =1024
flag = True
def readWarning(filepath):
	wf = wave.open(filepath, 'rb')
	p = pyaudio.PyAudio()
	stream = p.open(format = p.get_format_from_width(wf.getsampwidth()),
					channels=wf.getnchannels(),
					rate=wf.getframerate(),
					output=True)
					
	data = wf.readframes(CHUNK)
	while len(data) >0:
		stream.write(data)
		data = wf.readframes(CHUNK)
	
	stream.stop_stream()
	stream.close()
	
	p.terminate()
	
	
def makewarning(left, right, front):
	global flag
	if flag == True:
		flag = False
		message=""
		if left == True:
			message+="left "
			readWarning("warning_10_2.wav")
		if right == True:
			message+="right "
			readWarning("warning_2_2.wav")
		if front == True:
			message+="front "
			readWarning("warning_12_2.wav")
		if eq(message, "") == False: 
			print(message + "warning!!!!")
		flag = True
	return 0

if __name__ == '__main__':
	main()