VB.NET 实现DirectSound9 (10) 均衡器

大晴天热

大晴天热

2016-01-29 12:44

VB.NET 实现DirectSound9 (10) 均衡器,VB.NET 实现DirectSound9 (10) 均衡器

关键字: VB.NET DirectSound9 播放器 均衡器 作者:董含君
转载请注明来自:http://blog.csdn.net/a11s
发现最近发帖有点上瘾,这个估计真的是最后一篇关于DirectSound的文章了.用VB做播放器--估计又是我填补国内空白了.呵呵开玩笑.用MediaPlayer做播放器的不要看不起我哦...现在来写一下均衡器.必要知识是示波器,如果没有示波器的知识来做均衡器估计比较困难.这个是连接
http://blog.csdn.net/a11s/archive/2005/03/07/313672.aspx
依旧是拿WinAmp来分析
中间的那个就是均衡器(这个图没有截好,而且这个Blog居然不能删除上传的图像,我晕)

上面的1k 3k 6k ...都是可以调整的.
根据上一篇文章的说明,就是修改播放的buffer
1 primaryBuffer 这里面是DirectSound的最终播放缓冲,通常说来,你不需要修改他的内容,包括SDK的例子也没有涉及到PrimaryBuffer的操作.包括写入,锁定,播放 三个部分.更加详细的资料只能参照C++的资料的,全部都是英文的.不要指望我来翻译,我怕挨骂.
2 针对当时示波器的方案,应用到均衡器.就是将某一段的音量进行调整.这个"段"可以映射到riff的数据块,也就是播放前就修改了Primary的数据,然后lock ,最后play
3 最重要的还是这个"范围"的定义.由于我对声学了解几乎为0.但是相信winAmp这么划分时有道理的.你仔细看均衡器的上面有一条曲线.他的放大并不是大起大落,而是平滑的,这样你的EQ函数跟示波器的绘制函数一样,应该是连续的效果才会比较好

4 多种声音的加载.
这个在示波器没有多说,主要是为了拿到均衡器这边来.
既然知道均衡器最终的实质是修改PrimaryBuffer,那么你应该很容易就联想到怎么加载mp3 或者 wma了
最"经典"的办法,自己读mp3文件,然后转化成响应的riff,写PrimaryBuffer,最后Play
流行的办法,利用现有的插件,COM对象.没有发现么,DIrectShow支持的文件格式基本上就包含了MediaPlayer的文件格式,很多播放器都是这样.基本上都是为windows media player做插件.RealOne也有自己的Update 站点升级插件,WinAmp的插件也很多.他们的功能就是将目标文件专成riff然后给源程序播放.
5 播放器的播放环节
5.1 初始化
5.2 打开文件
5.3 找合适的插件读取文件内容,变成riff
5.4 找合适的插件进行示波
5.5 找合适的插件进行EQ调整
5.6 找合适的插件进行输出(这里我们用DirectSound)
5.7 播放进行时,处理各种时间以及做好节目列表
5.8 ....
可见,里面插件担当了非常重要的技术,而且不是一个人能够做的来的.
视频操作更是如此.
但是都是利用了一个同一的标准,然后大家具体实现其中的内容.
6 说了这么多,是不是对插件感兴趣?这个你可以直接用.但是需要到winamp的官方查看他的示例代码.当年豪杰曾经也出过演示程序,C++的.然后既然知道了接口,你就应该能够制作出这样的程序来适应他的插件.
相关技术主要还是经典的dll的动态加载问题,C# 以及 vb.net J# 都办不到.建议还是看C++或者Delphi吧.虽说安装插件的VB6也能做到.....估计这块已经没有什么可以再值得研究的了,或者说也不是一个人能够做到的了.仅仅了解一下就可以了.如果真的认真做,需要耗费的时间跟精力是难以估量的.或者你去做个forlinux的也许还能有前途,这个就不是我要讨论的问题了=============End===============
展开更多 50%)
分享

猜你喜欢

VB.NET 实现DirectSound9 (10) 均衡器

电脑网络
VB.NET 实现DirectSound9 (10) 均衡器

VB.NET实现DirectSound9 (9) 实现示波器

电脑网络
VB.NET实现DirectSound9 (9) 实现示波器

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

手机酷狗怎么调均衡器

酷狗 手机软件 应用软件
手机酷狗怎么调均衡器

调节iPhone音乐播放的均衡器

iphone iPhone 5s iPhone 6 iphone刷机
调节iPhone音乐播放的均衡器

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

天天动听均衡器怎么设置?

手机软件 应用软件
天天动听均衡器怎么设置?

清风DJ如何开启均衡器?

手机软件 应用软件
清风DJ如何开启均衡器?

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

TCP/IP Winsock编程要点

TCP/IP Winsock编程要点

《全民水浒》换位阵容解析

《全民水浒》换位阵容解析
下拉加载更多内容 ↓