Ich erstelle eine mp3-Datei, indem ich OutputStream (Bytes array) schreibe und dann mp3-Dateipfad in setDataSource des Media Players setze, dann wird media player gestartet.wie man setdatasource von laufendem mediaplayer in android aktualisiert
Aber wenn ich laufende MP3-Datei durch Hinzufügen Stream (Bytes Array) zur Laufzeit aktualisieren, dann Media Player wird nicht aktualisiert. Wie kann ich dieses Problem lösen? bitte helfen Sie in Bezug auf dieses Problem.
Hier ist mein Code:
InputStream inputStream = socket.getInputStream();
ByteArrayOutputStream dataOutputStream = new ByteArrayOutputStream();
int count=0
while(true){
byte[] buffer = new byte[1096*50];
int bytesRead = inputStream.read(buffer);
dataOutputStream.write(buffer, 0, bytesRead);
String fpath = "/sdcard/" + "sha" + ".txt";
File file = new File(fpath);
// If file does not exists, then create it
if (!file.exists()) {
file.createNewFile();
}
try{
OutputStream outputStream = new FileOutputStream(fpath);
dataOutputStream.writeTo(outputStream);
count++;
if (count==500){
playMp3(fpath);
}
}
private void playMp3(String path) {
try {
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.reset();
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException ex) {
String s = ex.toString();
ex.printStackTrace();
}
}
Veröffentlichen Sie die Codes, die Sie für relevant halten. –