byte[]数组播放wav格式音频文件

时间:2021-04-30 19:42:45

很多时候我们需要从服务器上传输文件,如果我们把音频文件转成byte[]进行网络传输,然后再在客户端进行播放,我们可以将byte[]生成音频临时文件进行播放。

package com.djcken.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import android.content.Context;
import android.media.MediaPlayer;
import android.util.Log;

public class PlayWav {

public static void PlayWav(Context context,byte[] byteWav)
{
try {
File temp = File.createTempFile("KenTo", "wav", context.getCacheDir()); //生成临时文件
temp.deleteOnExit();
FileOutputStream fos = new FileOutputStream(temp);
fos.write(byteWav);
fos.close();
//播放音频文件
MediaPlayer mediaPlayer = new MediaPlayer();
FileInputStream fis = new FileInputStream(temp);
mediaPlayer.setDataSource(fis.getFD());
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException ex) {
String string = ex.toString();
Log.d("String", "string = " + string);
ex.printStackTrace();
}
}
}