OutputStream(Bytes配列)を書き込んでmp3ファイルを作成し、メディアプレーヤーのsetDataSourceにmp3ファイルパスを入れて、メディアプレーヤーを起動します。アンドロイドでmediaplayerを実行するsetdatasourceを更新するには
実行時にストリーム(バイト配列)を追加して実行中のmp3ファイルを更新すると、メディアプレーヤーは更新されません。どうすればこの問題を解決できますか? この問題に関してお手伝いをしてください。ここで
は私のコードです:あなたはこの最初にファイルが追加されたり、次に再生しようとしているときに設定する必要があるブール変数を宣言しようとすることができ
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();
}
}
関連性の高いコードを投稿してください。 –