我的一个OA系统(winform)要加入音频保存功能,应该怎么做?

ximomomoxinei34 2012-03-19 03:35:50
后台的数据库是SQLServer。
现要添加 上传音频文件的功能,同时也支持在OA中进行播放音频功能。
(实际上是录入患者资料的时候上传一下音频文件,然后浏览某患者资料的时候可以听到相应录音)

SQLServer支持保存音频类型的数据么?
一般这种需求应该如何做最合适????
...全文
308 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
ximomomoxinei40 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 hb19850302 的回复:]

这种一般都是上传到FTP服务器上,数据库保存文件路径的吧
[/Quote]
经这两天的折腾。。已经学会了通过转化二进制流直接存到SQLServer中
以及 架一个web服务器 客户端去调用服务器中的方法。。
这两种方法已经学会了。。。ftp是怎么回事?是不是和web服务很类似?或就是一个东西?
hb19850302 2012-03-22
  • 打赏
  • 举报
回复
这种一般都是上传到FTP服务器上,数据库保存文件路径的吧
ximomomoxinei40 2012-03-22
  • 打赏
  • 举报
回复
各位领导 各位老师 同学们 兄弟姐妹们。。。说话呀!!!!
ximomomoxinei35 2012-03-21
  • 打赏
  • 举报
回复
无论是采用SQLServer还是web服务还是http。。。
都要面对一个问题,就是在线播放录音的功能应该如何做???
先下载到本地,然后在播放?? 还是直接在线播放??

下载到本地再播放有个弊端,就是日积月累占用磁盘空间太大。。 但是在线播放这种方式技术上似乎又有难度???
求解惑!!!!!!!!!!!!!!
ximomomoxinei35 2012-03-21
  • 打赏
  • 举报
回复
关于最简单的方法(直接存到SQLServer中),已经攻克。。
友情链接:
http://topic.csdn.net/u/20120320/15/54b56d00-acb8-445a-a191-b159509cdbef.html
精锐掷矛手 2012-03-20
  • 打赏
  • 举报
回复
可以参考一下RTP
精锐掷矛手 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 ximomomoxinei34 的回复:]
引用 15 楼 ximomomoxinei34 的回复:

我想到目前为止,最简单的方法是将文件转换成二进制流写入数据库的一个字段,然后读取的时候 就将二进制流转化为音频文件进行播放,从技术角度讲这种方式比较容易实现,
不过这貌似有些副作用。。。期待高手继续回答!!!

这样做的弊端我已经想到了,假设一个音频超过10M,网速又很一般。。。这时。。读一个患者的记录就各种慢了。。。当然也许可……
[/Quote]
可以写连个服务:音频文件服务、数据库服务。音频文件服务负责音频码的压缩、传输,数据库服务负责存储。上传时Client将音频码流传到音频文件服务,由文件服务组成文件保存,定期删除时间过长的文件,数据库服务定期存储音频文件。浏览时音频文件服务将音频码传给client,有client解码播放。
ximomomoxinei34 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ximomomoxinei34 的回复:]

我想到目前为止,最简单的方法是将文件转换成二进制流写入数据库的一个字段,然后读取的时候 就将二进制流转化为音频文件进行播放,从技术角度讲这种方式比较容易实现,
不过这貌似有些副作用。。。期待高手继续回答!!!
[/Quote]
这样做的弊端我已经想到了,假设一个音频超过10M,网速又很一般。。。这时。。读一个患者的记录就各种慢了。。。当然也许可以选择先不读那个列。。需要的时候再读。。。迷糊中。。。。
精锐掷矛手 2012-03-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 shaofei830927 的回复:]
先存储在本地 定期或者录音结束后 向库里 二进制流的方式写
建议数据库前弄个服务器端 大缓存的先缓存在服务端应用里 在写到库里
[/Quote]
顶这个方案
ximomomoxinei34 2012-03-20
  • 打赏
  • 举报
回复
我想到目前为止,最简单的方法是将文件转换成二进制流写入数据库的一个字段,然后读取的时候 就将二进制流转化为音频文件进行播放,从技术角度讲这种方式比较容易实现,
不过这貌似有些副作用。。。期待高手继续回答!!!
ximomomoxinei34 2012-03-20
  • 打赏
  • 举报
回复
集思广益!!感谢各位大神的解答。。希望有更精彩回复!!!
ximomomoxinei34 2012-03-20
  • 打赏
  • 举报
回复
我感觉以附件的方式上传给服务器 (通过web服务), 不知道这种方式是否合理!!
nonocast 2012-03-19
  • 打赏
  • 举报
回复
建议走ftp文件形式,然后播放的话可以有2个选择:
1. 通过ftp文件机制进行下载播放
2. 采用stream server形式进行播放(FMS/MediaService/Wowza)
shaofei830927 2012-03-19
  • 打赏
  • 举报
回复
文件管理
kkgoose 2012-03-19
  • 打赏
  • 举报
回复
时间一久数据库文件会非常庞大,到时候数据库维护起来可能就比较麻烦,做一个备份就可能需要很大的空间。而且2进制流取出来播放的时候还是要生成文件播放,如果直接播放2进制流技术上有难度,个人愚见。
shaofei830927 2012-03-19
  • 打赏
  • 举报
回复
服务器端可以直接将客户端的流转成文件 存库可以存路径么
shaofei830927 2012-03-19
  • 打赏
  • 举报
回复
先存储在本地 定期或者录音结束后 向库里 二进制流的方式写
建议数据库前弄个服务器端 大缓存的先缓存在服务端应用里 在写到库里
ximomomoxinei34 2012-03-19
  • 打赏
  • 举报
回复
一般如果用二进制流存储到sqlserver的弊端是什么?为什么不推荐这种做法?
startstartsvip 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chinajiyong 的回复:]

引用楼主 ximomomoxinei34 的回复:
后台的数据库是SQLServer。
现要添加 上传音频文件的功能,同时也支持在OA中进行播放音频功能。
(实际上是录入患者资料的时候上传一下音频文件,然后浏览某患者资料的时候可以听到相应录音)

SQLServer支持保存音频类型的数据么?
一般这种需求应该如何做最合适????

音频一般存路径,不知道可以用二进制流存吗?没试过……
[/Quote]

可以的
被甩了_郁闷 2012-03-19
  • 打赏
  • 举报
回复
音频文件作为附件上传,路径保存数据库即可
加载更多回复(5)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧