Android中怎样使用createTempFile实现将字节数据创建到临时文件并转换成FileOutputStream和FileInputStream
生活随笔
收集整理的這篇文章主要介紹了
Android中怎样使用createTempFile实现将字节数据创建到临时文件并转换成FileOutputStream和FileInputStream
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
在接收到音頻文件的字節數組之后,需要將其臨時存儲在手機的某個路徑下并將其轉換為
FileOutpurStream和FileInputStream提供給MediaPlayer進行播放。
如果指定音頻文件的存儲路徑時就會設計到權限問題、路徑問題的設置等。
可以將其存儲在臨時文件目錄下,只供臨時播放用,不進行永久存儲。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
代碼如下
??????? try {byte[] mp3SoundByteArray = Base64.decode(content, Base64.DEFAULT);// 將字符串轉換為byte數組// create temp file that will hold byte arrayFile tempMp3 = File.createTempFile("badao", ".mp3");tempMp3.deleteOnExit();FileOutputStream fos = new FileOutputStream(tempMp3);fos.write(mp3SoundByteArray);fos.close();// Tried reusing instance of media player// but that resulted in system crashes...MediaPlayer mediaPlayer = new MediaPlayer();// Tried passing path directly, but kept getting// "Prepare failed.: status=0x1"// so using file descriptor insteadFileInputStream fis = new FileInputStream(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后
?
總結
以上是生活随笔為你收集整理的Android中怎样使用createTempFile实现将字节数据创建到临时文件并转换成FileOutputStream和FileInputStream的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中怎样使用MediaPla
- 下一篇: Eclipse安装低版本4.3并安装Fa