Для воспроизведения можно PyAudio.
"""PyAudio Example: Play a WAVE file."""
import pyaudio
import wave
import sys
CHUNK = 1024
if len(sys.argv) < 2:
print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
sys.exit(-1)
wf = wave.open(sys.argv[1], 'rb')
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)
data = wf.readframes(CHUNK)
while data != '':
stream.write(data)
data = wf.readframes(CHUNK)
stream.stop_stream()
stream.close()
p.terminate()
android:layout_height="0dp"
и будет ожидаемый вариант. Вообще при использовании android:layout_weight
у этого контрола желательно ставить android:layout_height
(или соответственно android:layout_width
) в 0dp. И поведение будет более предсказуемым, да и работает быстрее. А у нижнего ImageView android:layout_weight
наверное совсем не нужен.