java接收的文件转换成临时文件_Android中怎样使用createTempFile实现将字节数据创建到临时文件并转换成FileOutputStream和FileInputStream...
場景
在接收到音頻文件的字節數組之后,需要將其臨時存儲在手機的某個路徑下并將其轉換為
FileOutpurStream和FileInputStream提供給MediaPlayer進行播放。
如果指定音頻文件的存儲路徑時就會設計到權限問題、路徑問題的設置等。
可以將其存儲在臨時文件目錄下,只供臨時播放用,不進行永久存儲。
注:
實現
代碼如下
try{byte[] mp3SoundByteArray = Base64.decode(content, Base64.DEFAULT);//將字符串轉換為byte數組//create temp file that will hold byte array
File tempMp3 = File.createTempFile("badao", ".mp3");
tempMp3.deleteOnExit();
FileOutputStream fos= newFileOutputStream(tempMp3);
fos.write(mp3SoundByteArray);
fos.close();//Tried reusing instance of media player//but that resulted in system crashes...
MediaPlayer mediaPlayer = newMediaPlayer();//Tried passing path directly, but kept getting//"Prepare failed.: status=0x1"//so using file descriptor instead
FileInputStream fis = newFileInputStream(tempMp3);
mediaPlayer.setDataSource(fis.getFD());
mediaPlayer.prepare();
mediaPlayer.start();
}catch(IOException ex) {
String s=ex.toString();
ex.printStackTrace();
}
其中相關引入
import android.media.MediaPlayer;
import android.os.Environment;
import android.util.Base64;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
可以看到調用File.createTempFile將其轉換為臨時文件后
然后將其轉換為FileOutputStream后
然后將其轉換為FileInputStream后
總結
以上是生活随笔為你收集整理的java接收的文件转换成临时文件_Android中怎样使用createTempFile实现将字节数据创建到临时文件并转换成FileOutputStream和FileInputStream...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java超时导致oracle锁表_jav
- 下一篇: java虚拟机内存告警_Java虚拟机总