暂无图片
分享
Error
2020-06-22
oracle数据库中提取音频文件在html中做一个播放列表
暂无图片 5M

在html中实现了录音并且将录音文件(wav)上传至数据库中,现在需要实现从数据库中获取录音文件列表并且需要可以在html中点击音频进行播放。

收藏
分享
6条回答
默认
最新
Quanwen Zhao

您好,您的Oracle数据库是什么版本呢?wav文件您是通过什么方式传到数据中的?最好把问题描述得再详细一些,我觉得您这个需求是需要PL/SQL代码来实现。

暂无图片 评论
暂无图片 有用 0
JiekeXu
暂无图片

如果说你遇到了报错解决不了,可以提出来,从零到壹这没人能解决。

你说的这个功能并不是三言两语能够实现,从后端数据库到编程语言在到前台页面整个过程也不简单吧。

墨天轮大多数都是数据库相关问题,涉及到程序开发的问题很少很少。

暂无图片 评论
暂无图片 有用 0
Error

是的,谢谢。
我存储音频的方式是通过blob的文件类型存储的。数据库的版本是19c的,刚才有位网友给我说用pl/sql动态内容来实现,但是说的太模糊,没有弄明白 我需要实现的效果如图:audio.png
就是通过pl/sql来获取存储在数据库中的音频文件,然后在网页做一个列表有播放按钮,点击播放按钮之后播放音频文件。

暂无图片 评论
暂无图片 有用 0
weizhao.zhang (anbob)

这个跟数据库没多大关系,取决于你的开发语言, 数据库取回字节流

try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
            PreparedStatement ps = con.prepareStatement("select mp3 from audios where id = ?");
            String id= request.getParameter("id");
            ps.setString(1,id);
            ResultSet rs = ps.executeQuery();
            rs.next();
            Blob b = rs.getBlob("mp3");
          //改为相要的类型
            response.setContentType("image/jpeg");
            response.setContentLength((int) b.length());
            InputStream is = b.getBinaryStream();
            OutputStream os = response.getOutputStream();
            byte buf[] = new byte[(int) b.length()];
            is.read(buf);
            os.write(buf);
            os.close();
        }

拿到字节流传给player还是生成文件,都是开发语言中。

暂无图片 评论
暂无图片 有用 0
Error

@Anbob 谢谢 不过我的语言用不了这样的方式,目前已经完成了功能,非常感谢。

暂无图片 评论
暂无图片 有用 0
墨天轮福利君
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏