建立语音数据库,旨在推动语音数据资源整合和开放共享,具体如下所示:
当务之急是利用新技术完善语音身份,建立模型化、标准化、应用化、场景化的底层语音数据库。“通过联合语音数据来源单位、使用单位、作用发挥单位等开展语音数据库信息采集工作,可实现保护传统媒体和新媒体领域的好声音、老声音及具有创新性的各类语音财富的目的。”
采用大对象类型。
mysql 大对象存取:
类型一般应该用mediumblod,
blob只能存2的16次方个byte,
mediumblod是24次方,
一般来说够用了longblob是32次方有些大
MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysqlini文件中
修改max_allowed_packet,net_buffer_length等几个参数,或直接SET GLOBAL varName=value
linux版本可以在启动参数后加-max_allowed_packet=xxM等几个参数
MYSQL存大对象最好直接就setBinaryStream,又快又方便
而不要先插入空再造型成BLOB然后再setBlob
例子:
import javasql;
import javaio;
public class DBTest {
static String driver = "orggjtmmmysqlDriver";
static String url = "jdbc:mysql://localhost:3306/test";
static String user = "root";
static String passwd = "passwd";
public static void main(String[] args) throws Exception {
Connection conn = null;
try {
ClassforName(driver);
conn = DriverManagergetConnection(url,user,passwd);
int op = 1;
//插入
if (op == 0) {
PreparedStatement ps = connprepareStatement("insert into tb_file values (,)");
pssetString(1, "aaaexe");
InputStream in = new FileInputStream("d:/aaaexe");
pssetBinaryStream(2,in,inavailable());
psexecuteUpdate();
psclose();
}
else {
//取出
PreparedStatement ps = connprepareStatement("select from tb_file where filename = ");
pssetString(1, "aaaexe");
ResultSet rs = psexecuteQuery();
rsnext();
InputStream in = rsgetBinaryStream("filecontent");
Systemoutprintln(inavailable());
FileOutputStream out = new FileOutputStream("d:/bbbexe");
byte[] b = new byte[1024];
int len = 0;
while ( (len = inread(b)) != -1) {
outwrite(b, 0, len);
outflush();
}
outclose();
inclose();
rsclose();
psclose();
}
}
catch (Exception ex) {
exprintStackTrace(Systemout);
}
finally {
try {connclose();}
catch (Exception ex) { }
}
}
}
以上就是关于为什么要建设语音数据库全部的内容,包括:为什么要建设语音数据库、怎样把多媒体信息(如音频文件,视频文件)存到数据库中,然后在一JSP页面显示,数据库是mysql的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)