Hi,
ich versuche via MediaPlayer einen Musiktitel von einem anderen Gerät zu streamen. Ich habe eine klassische TCP Socket Client Server-Verbindung. Nun schickt der Client dem Server einen Pfad zu einem Sound (zB /mnt/sdcard/Music/sound.mp3). Dieser soll nun diesen Titel abspielen. (Client IP ist bekannt, zB "/192.168.0.2").
private void playSound (String soundFileName) {
Uri myUri1 = Uri.parse("rtsp:/" + _clientIP + soundFileName);
_txtHint.setText(myUri1.toString());
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mPlayer.setDataSource(getApplicationContext(), myUri1);
} catch (IllegalArgumentException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
try {
mPlayer.prepare();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "MISE: You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "MIOE: You might not set the URI correctly!" + e.toString(), Toast.LENGTH_LONG).show();
}
mPlayer.start();
}
Alles anzeigen
Mein Problem ist nun, dass ich scheinbar eine falsche URI habe. Ich weiß allerdings nicht, wie ich die URI so angebe, dass der Mediaplayer die Datei streamt. Wäre die URI eine normale http URL, also "http://example.com/sound.mp3", würde das wunderbar funktionieren. WIe müsste meine URI aussehen, damit das funktioniert? Oder müsste die Datei noch auf irgendeine Art freigegeben werden?
Auf stackoverflow (ja, dies ist ein Crosspost, sry, aber ich hoffe, ich finde hier eine Lösung) behauptet jemand, das würde generell nicht gehen. Hat jemand vielleicht eine alternative Idee?
(https://stackoverflow.com/ques…diaplayer-stream-from-lan)
Vielen lieben Dank schon mal,
Gruß S-Man
PS: Der Fehler ist eine IOException in mPlayer.prepare ("Prepared failed: status = 0x1")