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相关推荐
- java接收的文件转换成临时文件_Android中怎样使用createTempFile实现将字节数据创建到临时文件并转换成FileOutputStream和FileInputStream...
场景 在接收到音频文件的字节数组之后,需要将其临时存储在手机的某个路径下并将其转换为 FileOutpurStream和FileInputStream提供给MediaPlayer进行播放. 如果指定音 ...
- Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
Android中使用HttpURLConnection实现GET POST JSON数据与下载图片 Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated ...
- android中调用fft函数,J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data)...
J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data) 我一直在玩这个游戏已经有一段时间了,我无法弄清楚我在这里要做的事情. ...
- 计算机字符的转换,字节和字符的换算(字符转换成字节)
他说一字节等于多少字符,据我所知,这好像不是同一个系统的概念,不存在. 位:计算机中最小的数据单位是二进制的一个数位,简称为位.如1101为4位二进制数,而10100110为8位二进制.字节:人们将8 ...
- BI项目中的ETL设计详解(数据抽取、清洗与转换)
ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...
- excel中html批量转化为pdf文件,如何将大量的Excel转换成PDF?
大家都知道Excel表,最怕别人修改了,尤其是数据.一旦修改,可能就会有麻烦.那如何是好呢?有一个最简单的办法就是把Excel转换成PDF文件,这样别人只能阅读不能编辑,就不用担心被修改了,哈哈~下面 ...
- etl:BI项目中的ETL设计详解(数据抽取、清洗与转换)
ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...
- python中utf-8和gbk编码格式_Python实现把utf-8格式的文件转换成gbk格式的文件
需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: 复制代码 代码如下: def ReadFile(filePath,encoding="utf-8"): with ...
- matlab经纬度转换行列号,如何在栅格中定位一个点所在的行列号(将十进制经纬度转换成行列号)...
如何在栅格中定位一个点所在的行列号 摘要 第一种方法:利用点要素类的属性表的字段计算器(推荐使用) 第二种方法:利用空间分析的方法(太复杂,不建议使用) 原文链接: http://support.es ...
最新文章
- bzoj1669[Usaco2006 Oct]Hungry Cows饥饿的奶牛*
- leveldb java_LevelDB 代码撸起来!
- WINCE6.0隐藏文件夹和应用程序访问物理寄存器
- FMCW雷达书籍分享 FMCW radar design
- 操作系统习题8—设备管理
- 怎么查看python是否安装好了pyinstaller_Python PyInstaller安装和使用教程(详解版)...
- 解题报告——蓝桥杯 试题 基础练习 2n皇后问题(附n皇后代码)
- php中,多维数组是什么意思,在PHP中回显多维数组
- 让我当你的圣诞老人吧,派发3本技术好书
- Ubuntu14.04安装mysql
- 大数据平台安全风险与建设
- 常见排序算法之归并排序
- 新塘单片机烧写器_NuMicro ICP Programming Tool-ICP Programming Tool(新唐单片机烧录工具)下载 v3.00.6909官方版--pc6下载站...
- 搭搭云配置系统概述-表单
- 代码比对工具-Diffmerge
- Java 打印对象的地址
- 教师评语计算机实验报告作业,作业实验报告评语大全
- android 手机内存uri_[Android]Android数据的四种存储方式 - Ron Ngai - 博客园
- html5 手机uc浏览器 复制链接,清除UC手机浏览器强制在页面中加入的关键词链接...
- C# 调用中通快递查询物流轨迹接口
热门文章
- Blue-Red Permutation 贪心,思维
- python处理csv文件 sql_如何用python将csv文件写入sql数据库
- sphinx搜索结果按权重排序php,Sphinx Ranking Mode(排序模式) (翻译)
- python类和对象详解_Python公开课 - 详解面向对象
- Mockito的使用(一)——@InjectMocks、@Spy、@Mock
- weblogic 安装教程
- flink source 同步_如何生成 Flink 作业的交互式火焰图?
- java checked异常有那些,java checked exceptions
- php第五章 补充案例,第5章 多线程 - 补充案例
- 小甲鱼python视频解读_小甲鱼python视频弟十二讲(关于字符串的方法及注释下)...