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

Categories

HOME
google-app-engine
delphi-7
fuelux
object
youtube-data-api-v3
yandex
spring-data-mongodb
google-apps
hpc
jetty
recordrtc
openpyxl
mautic
mxgraph
ipmitool
comsol
renjin
zerobrane
cumulocity
standards
android-7.0-nougat
xmonad
shortest-path
babel
r-mice
dataflow-diagram
interpreter
froala
appirater
ntp
magento-1.8
userdefaults
complex-numbers
biztalk-rule-engine
roblox
node-mssql
gdata
tasm
ogc
escpos
oim
serde
spring-data-couchbase
oracleclient
check-mk
mach-o
mathcad
rsa-archer-grc
donations
polyline
builtins
centrifuge
spreadjs
bizagi
dbamp
phpwebsocket
jparsec
gocql
computer-architecture
pax-exam
slash
uvc
xmltype
broadband
document-repository
contrast
formview
trdion2011
rcaller
ray
ios8-extension
file-not-found
xmltodict
android-usb
solace-mq
http-patch
neos-server
scmmanager
octal
pagedown
mantle
idn
midlet
nokia-s40
dajaxice
iboutlet
josql
pinch
cloudfiles
presentation-layer
objective-j
binomial-heap
application-verifier
blender-2.49
purepdf
tui
pbcopy
netbeans6.1

Resources

Encrypt Message