我将我的音频文件存储到sqlite数据库(作为BLOB),现在我想从数据库中获取它,并在单击按钮时播放它.
我的db表有三个字段:rowID,image,audio
在我表格的每一行中,存储了一个图像和一个音频(作为BLOB).
我的db表有三个字段:rowID,image,audio
在我表格的每一行中,存储了一个图像和一个音频(作为BLOB).
我试过这个,但对我不起作用:
byte[] byteAudio2 = null; Cursor cur1 = db.query("audiofromdb_tbl",null,null); cur1.movetoFirst(); byteAudio2 = cur1.getBlob(cur1.getColumnIndex("audio")); File tempWav = null; FileOutputStream fos = new FileOutputStream(tempWav); fos.write(byteAudio2); fos.close(); MediaPlayer mp = new MediaPlayer(); mp.setDataSource(fos.getFD()); mp.prepare(); mp.start();
解决方法
尝试这样的事情:
byte[] buffer = new byte[2048]; int size = 0; ByteArrayInputStream byteArrayStream = new ByteArrayInputStream(byteAudio2); while ((size = byteArrayStream.read(buffer,buffer.length)) > 0) { fos.write(buffer,size); }
[]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。