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

How can I ensure that my Android 6 Cordova app prompts the user to give permission before attempting to access the filesystem?
Android: recycler view over tab bar
Bottom Sheet Behavior needed to be shown only on button click?
GCM click_action property on payload is not appearing
react-native run-android red screen of death
Create a RecyclerView with both horizontal and vertical scrolling
How to get the network error response message from server side using Volley library?
Callback while sending Tweet using TweetComposer?
How I can get all last year's records of SQLite table
saving a picture in a place where the gallery will not be able to access it
Zxing camera becomes slow when calling StartScanning second time in Xamarin
NoClassDefFoundError occured when construct webview
Some Youtube Videos Are Displayed in RecylerView
Using the Anymote library for an Android mobile application to communicate with Android TV
Notification not currectly work(android)
Sinch(OTP verification) activity crashing [duplicate]

Categories

HOME
angular2-material
static
edge
spring-data-mongodb
xbee
tivoli
dojo
jquery-ui
spring-session
rcloud
project
mxgraph
rtf
flash-player
modbus-tcp
job-scheduling
video-editing
topology
windows-xp
blade
monit
xcode-ui-testing
fragment-backstack
android-maps
8051
subclass
xbox
utorrent
jbutton
glib
jwplayer6
xcode7.3
protein-database
subclipse
bindingnavigator
facebook-social-plugins
dynamic-linq
libgphoto2
sonarlint-eclipse
corruption
rackspace-cloud
shinobi
stax
reporting-services-2012
file-uri
lean
freepbx
lua-telegram-bot
createprocess
yajsw
false-sharing
sciruby
xvim
poppler
sql-server-data-tools
ansi
variadic-templates
mruby
jama
raygun
malformedurlexception
jjaql
multitasking
bin
ui-select2
frameworkelementfactory
extconf.rb
multiplexing
fitbounds
update-statement
multiplatform
http-daemon
socketserver
luajava
pagemethods
django-piston
software-lifecycle
great-circle

Resources

Encrypt Message