android
NameError: name 'numpydata' is not defined
I'm trying to stream audio from an android application to a python server, I have both codes here. The client: public class MainActivity extends AppCompatActivity { private Button startButton,stopButton; public byte[] buffer; public static DatagramSocket socket; private int port=4100; AudioRecord recorder; private int sampleRate = 44100 ; // 44100 for music private int channelConfig = AudioFormat.CHANNEL_IN_MONO; private int audioFormat = AudioFormat.ENCODING_PCM_16BIT; int minBufSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat); private boolean status = true; #Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startButton = (Button) findViewById (R.id.start_button); stopButton = (Button) findViewById (R.id.stop_button); startButton.setOnClickListener (startListener); stopButton.setOnClickListener (stopListener); } private final OnClickListener stopListener = new OnClickListener() { #Override public void onClick(View arg0) { status = false; recorder.release(); Log.d("VS","Recorder released"); } }; private final OnClickListener startListener = new OnClickListener() { #Override public void onClick(View arg0) { status = true; startStreaming(); } }; public void startStreaming() { Thread streamThread = new Thread(new Runnable() { #Override public void run() { try { DatagramSocket socket = new DatagramSocket(); Log.d("VS", "Socket Created"); byte[] buffer = new byte[minBufSize]; Log.d("VS","Buffer created of size " + minBufSize); DatagramPacket packet; Log.d("VS", "Address retrieved"); final InetAddress destination = InetAddress.getByName("192.168.43.71"); Log.d("VS", "Address retrieved"); recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,sampleRate,channelConfig,audioFormat,minBufSize*10); Log.d("VS", "Recorder initialized"); recorder.startRecording(); while(status == true) { //reading data from MIC into buffer minBufSize = recorder.read(buffer, 0, buffer.length); //putting buffer in the packet packet = new DatagramPacket (buffer,buffer.length,destination,port); socket.send(packet); System.out.println("MinBufferSize: " +minBufSize); } } catch(UnknownHostException e) { Log.e("VS", "UnknownHostException",e); } catch (IOException e) { e.printStackTrace(); Log.e("VS", ""+ e); } } }); streamThread.start(); } } The python server: import pyaudio import socket from threading import Thread import numpy as np from matplotlib import pyplot as plt frames = [] def udpStream(CHUNK): udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udp.bind(("192.165.43.72", 4100)) while True: # soundData, addr = udp.recvfrom(CHUNK) soundData, addr = udp.recvfrom(CHUNK * CHANNELS * 2) frames.append(soundData) print (numpydata) plt.plot(numpydata) plt.show() udp.close() def play(stream, CHUNK): BUFFER = 10 while True: if len(frames) == BUFFER: while True: try: stream.write(frames.pop(0), CHUNK) except: pass if __name__ == "__main__": FORMAT = pyaudio.paInt16 CHUNK = 1024 CHANNELS = 2 RATE = 44100 p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels = CHANNELS, rate = RATE, output = True, input=True, frames_per_buffer = CHUNK, ) Ts = Thread(target = udpStream, args=(CHUNK,)) Tp = Thread(target = play, args=(stream, CHUNK,)) Ts.setDaemon(True) Tp.setDaemon(True) Ts.start() Tp.start() Ts.join() Tp.join() This is not my code, I found it here Noise in Audio Streaming from Android to PC using UDP with Python Server. I'm not getting any errors on the client, but when I try to run the python server (after installing pyaudio, numpy and matplotlib), I get this error and I don't know why. Exception in thread Thread-1: Traceback (most recent call last): File "C:\Python34\lib\threading.py", line 920, in _bootstrap_inner self.run() File "C:\Python34\lib\threading.py", line 868, in run self._target(*self._args, **self._kwargs) File "C:\Users\Eric\Desktop\Servidor\Servidor.py", line 18, in udpStream print (numpydata) NameError: name 'numpydata' is not defined I don't know how to fix this, could you help me please? Thank you all!
Related Links
Android fullscreen activity without battery icon
Ionic refresher not working properly
Empty savedInstanceState Bundle when restoring a Fragment after double Rotation in replacing Fragment
What is the difference between Fragment.isVisible() and isVisibleToUser
AnimationDrawable not playing. Not called from onCreate
why adb shell doesn't support wildcard?
udp sender under android via USB > ethernet
Layout_margin is not working
How can I incorporate Gradle into my existing project on Eclipse?
In game Images disappear on Android device if i run from widget, but not when I install apk first time
Android OnSystemUiVisibilityChangeListener fires in Portrait only
Two nested async tasks in android
How can I get device Locale or Language with PhoneGap Build?
Best way to display large amount of text in an Android App
Framelayout Progressbar problems
HTML webiste navigation menu is flipped backward