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 to wait for elements to show up
ContextMenu Listener Recycler view
Calabash android.util.AndroidException: INSTRUMENTATION_FAILED
What is the 'captures' directory in android project?
How do I get an onClickEvent on a PreferenceFragment?
Android FirebaseStorage can't find file
How to use Rewarded Video ads using admob on android studio
Setting edittext cursor as a dropdown anchor for AutocompleteTextview dropdown
Android AlertDialog leftover window blocking input after dismiss
android studio Emulator not working
How to sync the scroll of 2 horizontal Recyclerviews?
Only getting first value from a record from cursor when trying to make a method to get a 2d array of strings to represent it
To create xml file inside the direct of the project of my mobile XAMARIN
Tesseract TessData fonts used for training
google play sharing saved games data between apps
Compiling fftw3 with NDK and gradle CMake

Categories

HOME
django
hyperlink
merge
ns-3
serialization
obfuscation
google-cloud-datalab
opengl-3
title
flume
modal-dialog
gson
startup
spring-social
endpoint
selenium-ide
gource
atlassian
3nf
heat
pyramid
sencha-touch
solrcloud
href
named-entity-recognition
visual-studio-extensions
hta
tiki-wiki
definitelytyped
android-sharedpreferences
user-defined-functions
browser-sync
eviews
event-flow
code-snippets
jett
hreflang
fossil
dm-script
timing
projects-and-solutions
trigonometry
vmware-fusion
apollostack
avcapturedevice
openresty
linter
serde
google-cse
zenhub
stdmap
static-cast
context-sensitive-grammar
subnet
sundials
pdf-conversion
bootstrap-tags-input
choice
smartfoxserver
model-associations
lua-telegram-bot
php-socket
kiosk
phpwebsocket
nullable
grass
realsense
user-management
custom-errors
dynatree
.bash-profile
batik
atoi
alloy-ui
j-security-check
rrule
xmltype
theos
ssis-data-flow
administration
sonarqube-5.0
create.js
mobility
template-deduction
paste
android-framework
vsx
syndicationfeed
rfc5322
artemis
nevron
merb
poker
resource-management
garbage
extconf.rb
kqueue
jsr286
cgimage
apache-commons-dbutils
mysql-error-1205
pylucene
rmdir
unattended-processing
cac
ie-compatibility-mode
facebook-iframe
eclipse-marketplace
silverlight-oob
scrubyt
wysiwym
todos
xslcompiledtransform

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile