一般神龙卡的回调函数中包含:
case FMPM_BUF_SEEK: SetFilePointer( Buf->hFile, (LONG)dwValue, 0, FILE_BEGIN );
case FMPM_BUF_POS: ReadFile( Buf->hFile, Buf->Buffer[Buf->wIndex], MAX_BUF_SIZE,&Buf->dwSize, NULL );
现在我的想法是先把歌曲文件从服务器中分段读取到本地计算机的虚拟内存中,然后使用copymemory的方法把这些数据拷贝到神龙卡的内存中,实现播放,也就是把ReadFile换掉。
测试中,具体播放是没有问题的,只是在一首歌强制中断播放后(停止并关闭流),发现在下一首歌中的开始部分会丢失1~2M的数据,而那个地方有的时候是非常重要的,经常不出现歌名,甚至一开始歌手就已经唱过了半句……敢问各位高手有什么好的方法可以解决呢?我的case FMPM_BUF_SEEK:中不知道该怎么去定位指针,就没写语句!若问题解决马上给分,我可以再出100分。
case FMPM_BUF_SEEK: SetFilePointer( Buf->hFile, (LONG)dwValue, 0, FILE_BEGIN );
case FMPM_BUF_POS: ReadFile( Buf->hFile, Buf->Buffer[Buf->wIndex], MAX_BUF_SIZE,&Buf->dwSize, NULL );
现在我的想法是先把歌曲文件从服务器中分段读取到本地计算机的虚拟内存中,然后使用copymemory的方法把这些数据拷贝到神龙卡的内存中,实现播放,也就是把ReadFile换掉。
测试中,具体播放是没有问题的,只是在一首歌强制中断播放后(停止并关闭流),发现在下一首歌中的开始部分会丢失1~2M的数据,而那个地方有的时候是非常重要的,经常不出现歌名,甚至一开始歌手就已经唱过了半句……敢问各位高手有什么好的方法可以解决呢?我的case FMPM_BUF_SEEK:中不知道该怎么去定位指针,就没写语句!若问题解决马上给分,我可以再出100分。
解决方案 »
- 数据库软件如何实现网络访问数据?
- 对于“<a id="mb" href="/cf/fr?in=o">查看</a>”,属性变量有id、href等等,那么“查看”的属性变量是什么?
- 用udp如何接收从c写的udp server上发来的带有串和结构的报文.
- 疑惑: 为何可以直接调用类中的virtual abstract(纯虚函数)方法?
- 按钮二调用按钮一的事件,怎么在执行按钮一的事件时判断他是直接按按钮一的,还是按按钮二来调用的?不要用设一个什么变量来判断,有没好
- 救急 如何将JPG格式的图片转换成BMP格式 在线等待
- 请教一个简单问题?
- 请问delphi中有二~十进制的转换函数吗.....
- 來聊聊有沒有人遇到跟我一樣狀況...
- 高手领分
- 怎么设置全局变量
- 倒霉的12月!
我在专区里也发了该帖,若您需要,
也可去看看
神龙卡我以前重新初始化过(现在我用的就是重新初始化的,只是没有关闭后重新打开),效果一样!
这样写简单的说,一个最基本的就是网络资源占用明显会减少!
你可以想想,呵呵,假设我一个服务器可以带50个点,那么我只要10个硬盘,我就可以装载下
1万多首歌曲!
你那个在50个点的时候需要多少个硬盘?假设一个硬盘500,那么不算后台服务器硬盘,成本要
多少?
你可以这样做,和你说的效果一样 hehe^^
不过我们这里测试了,现在我们用一个IDE硬盘,的确带到了50多个点以上:)