jsp中,想实现声音和文字的同步。
文字存在数据库中,调用显示,声音用的bgsound
运行后,文字能显示,背景声音完全没有,怎么回事啊??
我的程序如下:
<%@ page contentType="text/html;charset=gb2312"%> 
<%@ page import="java.sql.*" %> 
<%@ page import="java.util.*"%> 
<%@ page import="java.text.*"%> 
<%@ page import="java.io.*"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>从数据库中读取二进制数据</title>
<style type="text/css">
<!--
body {
background-image: url(../pic/beijing.gif);
}
-->
</style><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body>
<bgsound src="1-1-1.mp3">
<p>
  <%
  Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();//加载JDBC驱动程序     
String  url="jdbc:oracle:thin:@localhost:1521:zds32new";    
//bin_db为你的数据库的名称    
String  user="zds32new";    
String  password="zds32new";    
Connection  conn=DriverManager.getConnection(url,user,password); //创建数据库连接      
String sql="select blob_column from peixun where id='1'"; //查询id为6的binfile字段内容
Statement stmt=null; 
ResultSet rs=null; 
try{ 
    stmt=conn.createStatement(); 
    rs=stmt.executeQuery(sql); //将查询结果保存到结合rs中
    }catch(SQLException e){} 
try { 
    while(rs.next()) { 
    ServletOutputStream sout = response.getOutputStream(); //声明ServletOutputStream的实例sout
        InputStream in =rs.getBinaryStream(1);//获取二进制输入流
        
        byte b[] = new byte[0x7a120];// 创建byte数组用作缓冲
        
        while (in.read(b) != -1) 
       {
       sout.write(b); //输出字符流
        }
           sout.flush(); 
           sout.close(); 
            } 
            } 
      catch(Exception e){System.out.println(e);} 
%> 
</p>
<div align="center"></div>
</body>
</html>
大家帮看看啊!
想要实现声音与文字的同步显示,还有什么好办法没有啊?
大家帮帮忙。

解决方案 »

  1.   

    实现背景音乐的方法A:关于背景音乐的实现,相信你已经知道。这里提供更详细的参数,也许对你有用。首先准备好一首MIDI音乐,背景音乐使用的HTML标记是:<EMBED SRC="001.mid">这个标记可以视你的需求,放在<BODY>和</BODY>之间的任何地方。在这个标记放置的位置会出现一个类似媒体播放程式的图案,可以控制播放音乐或暂停例如说,我在下面写上这一行:<EMBED SRC="001.mid" WIDTH=145 HEIGHT=60>就会出现一个控制面版让你播放音乐,如果我要把音乐当作背景音乐来用,也就是不要显示控制面板。而且一进入画面就要播放,然后一直重复。就要这样写:<EMBED SRC="001.mid" HIDDEN=TRUE AUTOSTART=TRUE LOOP=TRUE>关于<EMBED>还有很多其他的属性,我一一解说给你听:SRC="档案名称和路径" 设定MIDI档案的路径。AUTOSTART="TRUE / FALSE" 是否要在音乐档传完之后,就自动播放音乐。TRUE是要,FALSE是不要,预设值是不要。LOOP="TRUE / FALSE / 整数"设定是否要自动反覆播放,LOOP=2表示重复两次,若要无限次重复可用LOOP="TRUE"。STARTTIIME="分:秒"设定歌曲开始播放的时间,例如我想从这首歌第30秒的地方开始播放,就这样写STARTTIIME="00:30"ENDTIME="分:秒"歌曲播放结束的时间,一般来说我们不必去设定歌曲开始和结束的时间,它会自动从头播放到尾。VOLUMEE="0-100"设定音乐音量的大小,数值一定是0到100之间,如果不设定,就是使用者系统本身所设定的音量大小。WIDTH和HIGH="整数"设定控制面版的宽度和高度。ALIGN="TOP / BOTTOM / CENTER / BASELINE / LEFT /RIGHT / TEXTTOP / MIDDLE / ABSMIDDLE /ABSBOTTOM"设定控制面板和旁边文字的对齐方式,跟<IMG>(插入图形的标记)所使用的属性是一样的。CONTROLS="CONSOLE / SMALLCONSOLE /PLAYBUTTON / PAUSEBUTTON / STOPBUTTON /VOLUMELEVER"设定控制面板的样子,预设值是CONSOLE。CONSOLE 一般正常的面板SMALLCONSOLE 较小的面板PLAYBUTTON 只显示播放按钮PAUSEBUTTON 只显示暂停按钮STOPBUTTON 只显示停止按钮VOLUMELEVER 只显示音量调整钮HIDDEN="TRUE"如果写上这个属性的话,就会完全隐藏控制面板,但你也不能去设定控制面板的宽和高。<EMBED>可以放在<BODY>和</BODY>之间的任何地方。记住:在这个标记放置的位置会出现一个控制面板的图案,你可以视自己的需求,把它放在适当的位置,也可以使用HIDDEN=TRUE将面板隐藏起来,配合AUTOSTART=TRUE当背景音乐使用。 
      

  2.   

    -.-~怎么把连接数据库放在JSP里·感觉老别扭
      

  3.   

    就是在dreamweaver里面调试的,可能是输出字符流的问题。
    限制了背景音乐和图片的输出。
    快烦躁死了,一星期没干别的,天天调试它了。
      

  4.   

    因为把文本存到数据库了,boss的意思
    想把声音也存进去的,但是在jsp中读声音文件没成功,所以就用了这种两结合的方法了。
    但还是不行啊!!