Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is returned by wave.readframes?

Tags:

python

wave

I assign a value to a variable x in the following way:

import wave
w = wave.open('/usr/share/sounds/ekiga/voicemail.wav', 'r')
x = w.readframes(1)

When I type x I get:

'\x1e\x00'

So x got a value. But what is that? Is it hexadecimal? type(x) and type(x[0]) tell me that x and x[0] a strings. Can anybody tell me how should I interpret this strings? Can I transform them into integer?

like image 712
Roman Avatar asked Jan 14 '10 10:01

Roman


1 Answers

The interactive interpreter echoes unprintable characters like that. The string contains two bytes, 0x1E and 0x00. You can convert it to an integer with struct.unpack("<h", x) (little endian, 2 bytes, signed).

like image 94
AndiDog Avatar answered Sep 30 '22 20:09

AndiDog