请大家看看我的软件,花了我将近一年时间作出来的东东,请各位大侠多提宝贵意见!!
请大家看看我的软件,花了我将近一年时间作出来的东东,请各位大侠多提宝贵意见!!
下栽地址:
http://www.zszx.info:83/138682/soft/2004131630.rar
是一个多媒体播放软件,支持插件和皮肤!大约1.44m
问题点数:100、回复次数:121Top
1 楼cll007(gazo)回复于 2004-01-03 20:37:18 得分 2
好东西,不要我注册吧Top
2 楼jiezhi(风满袖)回复于 2004-01-03 20:39:41 得分 2
lookTop
3 楼Shawphen2000(啸峰)回复于 2004-01-03 20:45:11 得分 2
不错不错,真的很好。Top
4 楼yingshang(伤影)回复于 2004-01-03 20:56:34 得分 0
不需要注册!Top
5 楼seasunsky(来来往往)回复于 2004-01-03 20:57:50 得分 0
先升级kv(实话实说),下载速度很快,100k啊!Top
6 楼yingshang(伤影)回复于 2004-01-03 21:03:39 得分 0
楼上的老兄多虑了,说实话,我还没有编病毒的技术!呵呵!Top
7 楼VeryOldMan(无头苍蝇(www.gzmeishi.com))回复于 2004-01-03 21:19:24 得分 2
不错不错,真的很好。
界面还可以做得更花一点,我可是个老色鬼哦! :DTop
8 楼cll007(gazo)回复于 2004-01-03 21:45:47 得分 2
试用了一下下,感觉真的不错哦
没找到版权信息呀
老兄加上吧,不要搞木马哦
发布出去哦
Top
9 楼seasunsky(来来往往)回复于 2004-01-04 10:33:54 得分 2
下载看了看,不错的说。Top
10 楼SuperGam()回复于 2004-01-04 10:36:53 得分 2
不错!Top
11 楼superlionet(彼岸)回复于 2004-01-04 10:53:33 得分 2
不错的东东,用什么做的?
Top
12 楼Erice(白雪公猪)回复于 2004-01-04 11:02:43 得分 2
不错哟Top
13 楼delphipan(要快乐的过日子)回复于 2004-01-04 12:18:58 得分 2
看看吧Top
14 楼hanxian(KO)回复于 2004-01-04 12:29:52 得分 2
先看看哦Top
15 楼xinshiji(自由我有)回复于 2004-01-04 12:45:23 得分 2
lookTop
16 楼haipin(eclipse\netbeans你选择谁)回复于 2004-01-04 12:53:53 得分 2
look lookTop
17 楼chenylin(陈SIR)回复于 2004-01-04 12:55:48 得分 2
真不错!界面很漂亮,操作也方便。Top
18 楼fcjg(★飘来飘去!★)回复于 2004-01-04 13:03:05 得分 2
爽不错,Top
19 楼fj218(双元)回复于 2004-01-04 13:04:26 得分 2
界面很不错,但程序不是很稳定。Top
20 楼cocoboy79(ithink79.spaces.live.com)回复于 2004-01-04 13:07:06 得分 2
做的不错啊,支持!
建议放到共享软件网站上去卖钱 ^_^Top
21 楼hkbarton(→Beginner←)回复于 2004-01-04 13:13:46 得分 2
不错Top
22 楼yctwfly(西风狂想)回复于 2004-01-04 13:15:20 得分 2
不错,支持!Top
23 楼yuzhan(小于)回复于 2004-01-04 13:18:31 得分 2
非常不错,羡慕ingTop
24 楼zzllabc(抱朴子--清心释累,绝率忘情)回复于 2004-01-04 13:22:25 得分 2
不错!!
顺便问你一个问题:你是怎样取得文件的播放时间??谢谢!Top
25 楼alexzhang00(三角猫)回复于 2004-01-04 13:32:04 得分 2
好Top
26 楼ekin(风语者)回复于 2004-01-04 14:24:15 得分 2
kankanTop
27 楼crossbow(【以无形为形】)回复于 2004-01-04 14:43:31 得分 2
正在下载...估计不错
兄台,你是老师吗?浙江人?Top
28 楼rgbwoo(天行者)回复于 2004-01-04 14:43:38 得分 2
厉害
Top
29 楼dongdyl(dyl)回复于 2004-01-04 14:45:48 得分 2
很不错Top
30 楼klend(苯鸟(2006))回复于 2004-01-04 14:47:43 得分 2
有辕马吗?Top
31 楼crossbow(【以无形为形】)回复于 2004-01-04 14:54:03 得分 2
不错,但几乎没有上面文档,资源占用比较高,支持ra,rm,vqf, asf格式吗?Top
32 楼xiaoqiang123(xiaoqiang)回复于 2004-01-04 15:34:16 得分 2
的确不错!Top
33 楼WJY2003(笨笨鸟儿啄NET)回复于 2004-01-04 15:47:59 得分 2
的确是
太占资源啦
Top
34 楼tanxj(明剑)回复于 2004-01-04 15:49:02 得分 2
不错!Top
35 楼tresss(破天惊)回复于 2004-01-04 15:55:17 得分 2
软件的界面作的很不错.
但是有些功能.如"关于"一应放在明显的地方.
另外,如果能随用户要求改变窗口大小的话,那会更受人喜爱的!Top
36 楼sherry3000(怀念巴乔)回复于 2004-01-04 16:08:01 得分 2
怎么换肤呢?我看只有一个选择呀?Top
37 楼yingshang(伤影)回复于 2004-01-04 16:19:41 得分 0
to crossbow(【带三尺剑立不世之功】) :
的确,占CPU的资源,谢谢您的提醒。看来算法要好好想想了!
支持asf格式,rm格式我正在想办法,应为现在要支持这种格式,就我所知必须要用到realplayer的activeX控件和一大堆dll,还要注册ocx,我正寻求一个简单的办法。
to tresss(破天惊) :
我里面有四个不同的"关于",不知道您指的是哪个!
主窗体大小是可以拉动的呀!您指的是不是影视文件播放的窗口!
to sherry3000(海子) :
作图对我来说真是一件痛苦的事,暂时只能提供一套皮肤(还是从nvdvd软件上扒下来改的).
Top
38 楼windeflower(风之花)回复于 2004-01-04 16:24:07 得分 2
不错
Top
39 楼folder80(folder80)回复于 2004-01-04 16:31:38 得分 2
顶Top
40 楼Qbcdb(陈景)回复于 2004-01-04 16:39:56 得分 2
真的很好Top
41 楼ssq_td(离别的车站)回复于 2004-01-04 16:51:01 得分 2
想问下,条形音频显示,是怎么做的!能交流下吗?
resun_shaoqing@163.comTop
42 楼dinyy()回复于 2004-01-04 16:53:20 得分 2
goodTop
43 楼lightice(ll)回复于 2004-01-04 17:14:50 得分 2
能放点代码就好了hohoTop
44 楼coreblood(I don't Know )回复于 2004-01-04 17:38:42 得分 2
呵呵下载中Top
45 楼Tensionli()回复于 2004-01-04 18:24:44 得分 2
upTop
46 楼sternz(方天)回复于 2004-01-04 18:38:29 得分 2
赞一个~~
的确不错!Top
47 楼xiaoyuer0851(红旗下的蛋)回复于 2004-01-04 19:27:13 得分 2
呵呵, 不错
Top
48 楼duxbin(孤星)回复于 2004-01-04 19:37:44 得分 2
呵呵,我下载居然有274KTop
49 楼gamevale(村长)回复于 2004-01-04 19:54:35 得分 2
为什么声音调节不起作用Top
50 楼yingshang(伤影)回复于 2004-01-04 20:25:31 得分 0
to gamevale(村长):
你用的是不是XP环境,声音调节我的实现如下,在有些XP下就报错,不知为什么:
{*******************************************************************}
{ }
{ 音量调节模块: }
{ 1. 获得音量(左右声道)的值和是否静音; }
{ 2. 设置音量(左右声道)的值和是否静音。 }
{ }
{*******************************************************************}
unit VolumeUnit;
interface
uses
// BasicUnit
SysUtils,
MMSystem,
Dialogs;
Type
TDeviceName = (Master, Microphone, WaveOut, Synth);
// 获得混音器参数
procedure GetVolume(DN: TDeviceName);
// 设置混音器参数
procedure SetVolume(DN: TDeviceName);
implementation
var
MuteVol : Boolean; // 静音
LeftVol : Integer; // 左声道
RightVol: Integer; // 右声道
{--- 获取声音的所有参数 ------------------------------------------------}
procedure GetVolume(DN: TDeviceName);
var
intRet : Integer;
hMix : HMIXER;
mxl : TMixerLine;
mxc : MIXERCONTROL;
mxlc : MIXERLINECONTROLS;
mxcd : TMIXERCONTROLDETAILS;
details : array [0..30] of Integer;
mcdMute : MIXERCONTROLDETAILS_BOOLEAN;
nMixerDevs: Integer;
begin
// 检查混音器是否可用
nMixerDevs := mixerGetNumDevs();
if (nMixerDevs < 1) then
begin
Exit;
end;
// 打开混音器
intRet := mixerOpen(@hMix, 0, 0, 0, 0);
// 获得左右声道的值
if intRet = MMSYSERR_NOERROR then
begin
case DN of
Master : mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
Microphone :
mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;
WaveOut : mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT;
Synth : mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER;
end;
mxl.cbStruct := SizeOf(mxl);
// 获得控制器的信息
intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE);
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxlc, SizeOf(mxlc),0);
mxlc.cbStruct := SizeOf(mxlc);
mxlc.dwLineID := mxl.dwLineID;
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
mxlc.cControls := 1;
mxlc.cbmxctrl := SizeOf(mxc);
mxlc.pamxctrl := @mxc;
intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxcd, SizeOf(mxcd),0);
mxcd.dwControlID := mxc.dwControlID;
mxcd.cbStruct := SizeOf(mxcd);
mxcd.cMultipleItems := 0;
mxcd.cbDetails := SizeOf(Integer);
mxcd.paDetails := @details;
mxcd.cChannels := 2;
intRet := mixerGetControlDetails(hMix, @mxcd,MIXER_SETCONTROLDETAILSF_VALUE);
LeftVol := details[0];
RightVol := details[1];
if intRet <> MMSYSERR_NOERROR then
ShowMessage('设置控制器参数错误!');
end
else
ShowMessage('获得控制器信息错误!');
end; // end 左右声道
// 获得静音值
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxlc, SizeOf(mxlc),0);
mxlc.cbStruct := SizeOf(mxlc);
mxlc.dwLineID := mxl.dwLineID;
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
mxlc.cControls := 1;
mxlc.cbmxctrl := SizeOf(mxc);
mxlc.pamxctrl := @mxc;
// 获得静音控制器
intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxcd, SizeOf(mxcd),0);
mxcd.cbStruct := SizeOf(TMIXERCONTROLDETAILS);
mxcd.dwControlID := mxc.dwControlID;
mxcd.cChannels := 1;
mxcd.cbDetails := SizeOf(MIXERCONTROLDETAILS_BOOLEAN);
mxcd.paDetails := @mcdMute;
// 获得静音值
intRet := mixerGetControlDetails(hMix, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE);
if mcdMute.fValue = 0 then
MuteVol := false
else
MuteVol := True;
if intRet <> MMSYSERR_NOERROR then
ShowMessage('设置控制器参数错误!');
end
else
ShowMessage('获得控制器信息错误!');
end; // end 静音
// 关闭混音器
intRet := mixerClose(hMix);
end;
end;
{--- 设置声音的所有参数 ------------------------------------------------}
procedure setVolume(DN: TDeviceName);
var
intRet : Integer;
hMix : HMIXER;
mxl : TMixerLine;
mxc : MIXERCONTROL;
mxlc : MIXERLINECONTROLS;
mxcd : TMIXERCONTROLDETAILS;
details : array [0..30] of Integer;
mcdMute : MIXERCONTROLDETAILS_BOOLEAN;
nMixerDevs: Integer;
begin
// 检查混音器是否可用
nMixerDevs := mixerGetNumDevs();
if (nMixerDevs < 1) then
begin
Exit;
end;
// 打开混音器
intRet := mixerOpen(@hMix, 0, 0, 0, 0);
if intRet = MMSYSERR_NOERROR then
begin
case DN of
Master : mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
Microphone :
mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;
WaveOut : mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT;
Synth : mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER;
end;
mxl.cbStruct := SizeOf(mxl);
// 获得控制器的信息
intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE);
// 设置左右声道音量
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxlc, SizeOf(mxlc),0);
mxlc.cbStruct := SizeOf(mxlc);
mxlc.dwLineID := mxl.dwLineID;
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME;
mxlc.cControls := 1;
mxlc.cbmxctrl := SizeOf(mxc);
mxlc.pamxctrl := @mxc;
intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxcd, SizeOf(mxcd),0);
mxcd.dwControlID := mxc.dwControlID;
mxcd.cbStruct := SizeOf(mxcd);
mxcd.cMultipleItems := 0;
mxcd.cbDetails := SizeOf(Integer);
mxcd.paDetails := @details;
mxcd.cChannels := 2;
details[0] := LeftVol;
details[1] := RightVol;
intRet := mixerSetControlDetails(hMix, @mxcd,MIXER_SETCONTROLDETAILSF_VALUE);
if intRet <> MMSYSERR_NOERROR then
ShowMessage('设置控制器参数错误!');
end
else
ShowMessage('获得控制器信息错误!');
end; // end 左右声道
// 设置静音
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxlc, SizeOf(mxlc),0);
mxlc.cbStruct := SizeOf(mxlc);
mxlc.dwLineID := mxl.dwLineID;
mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
mxlc.cControls := 1;
mxlc.cbmxctrl := SizeOf(mxc);
mxlc.pamxctrl := @mxc;
// 获得静音控制器
intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE);
if intRet = MMSYSERR_NOERROR then
begin
FillChar(mxcd, SizeOf(mxcd),0);
mxcd.cbStruct := SizeOf(TMIXERCONTROLDETAILS);
mxcd.dwControlID := mxc.dwControlID;
mxcd.cChannels := 1;
mxcd.cbDetails := SizeOf(MIXERCONTROLDETAILS_BOOLEAN);
mxcd.paDetails := @mcdMute;
// 设置静音
mcdMute.fValue := Ord(MuteVol);
intRet := mixerSetControlDetails(hMix, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE);
if intRet <> MMSYSERR_NOERROR then
ShowMessage('设置控制器参数错误!');
end
else
ShowMessage('获得控制器信息错误!');
end; // end 静音
// 关闭混音器
intRet := mixerClose(hMix);
end;
end;
end.
Top
51 楼jenycheng(听,雪的声音)回复于 2004-01-04 20:27:35 得分 2
晕!!!
到我这里就下不了了
怎么搞的啊!Top
52 楼jyh149129(风之刃)回复于 2004-01-04 20:45:40 得分 2
不错
好东西分享一下嘛,比如音频条码和波纹的显示Top
53 楼easyboot(易宝)回复于 2004-01-04 21:34:35 得分 2
upTop
54 楼year2000bug(江南)回复于 2004-01-04 22:19:17 得分 2
我用不了啊,
先是说无效浮点指针,
跟着说堆栈溢出.
最后来个非法操作。
我用的是win98.
Top
55 楼shinyv(看谁理我)回复于 2004-01-04 22:47:05 得分 0
漂亮,要是把源码放出来,就太好了!Top
56 楼ljt98(真水无香)回复于 2004-01-04 23:26:34 得分 0
不要放源码!!
可以讨论。。维护版权Top
57 楼yuehaiwuya(月海)回复于 2004-01-05 00:13:30 得分 0
niceTop
58 楼101monster(毛毛虫)回复于 2004-01-05 00:20:01 得分 0
呵呵,Good!Top
59 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-01-05 00:33:07 得分 0
呵呵
我去看看
我都开发有好几个软件的,在http://lysoft.7u7.netTop
60 楼mmdrr()回复于 2004-01-05 01:58:51 得分 0
感觉不错Top
61 楼coreblood(I don't Know )回复于 2004-01-05 08:20:41 得分 0
看了用了,很漂亮...效果很好,不过真的很耗资源Top
62 楼viaboy(平凡)回复于 2004-01-05 09:14:51 得分 0
lookTop
63 楼goldpony(金马)回复于 2004-01-05 09:37:47 得分 0
感觉不错
Top
64 楼crossbow(【以无形为形】)回复于 2004-01-05 09:48:46 得分 0
在我的Win98上,菜单的字有时候竟然消失了,可能是重画的毛病吧?
Mp3解码器是你自己写的?厉害啊……Top
65 楼asir_gl(编程浪子)回复于 2004-01-05 10:59:52 得分 0
不错Top
66 楼luckyboy97(幸运男孩)回复于 2004-01-05 11:11:45 得分 0
好东西Top
67 楼hkbarton(→Beginner←)回复于 2004-01-05 12:33:21 得分 0
楼主真的很厉害,我昨天也看了,至少这个东西很多地方我写不出来(实话的说)
希望楼主继续加油!Top
68 楼softwaiter(softwaiter)回复于 2004-01-05 13:14:07 得分 0
真的很厉害,佩服佩服!!
继续加油啊,能不能交个朋友
MSN:iamwxm@hotmail.comTop
69 楼lzgctgc(理引商务)回复于 2004-01-05 13:54:13 得分 0
感觉不错
Top
70 楼noproblem12(被捡破烂的捡起的破烂)回复于 2004-01-05 14:07:45 得分 0
good!Top
71 楼crossbow(【以无形为形】)回复于 2004-01-05 14:16:35 得分 0
仔细测试了一下,解码器的效果和XAudio的差不多,和Winamp和Sonique的还有差距。质量比较差、噪音比较多的Mp3尤其明显。
Top
72 楼aaronyes(生活需要进步)回复于 2004-01-05 14:19:47 得分 0
upTop
73 楼DY2003(DY2003)回复于 2004-01-05 17:14:37 得分 0
lookTop
74 楼crossbow(【以无形为形】)回复于 2004-01-05 22:58:31 得分 0
播放FIFA99里面的asf音频出现如下错误:
Exception EDirectShowException in module ZL_MAWD.dll at 0005795F.Top
75 楼root3646(游牧人(虫子))回复于 2004-01-06 00:11:34 得分 0
支持一下!Top
76 楼alpha15(奥法)回复于 2004-01-06 00:18:34 得分 0
慢慢看!Top
77 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-01-06 01:21:52 得分 0
根据我的分析解码部分是使用别人写的可能是很大
写MP3的编码几乎不会用Delphi开发的,都是用VC的
既然是VC高手自然就会用VC写那个Player了
继续去分析
呵呵,仅是一家之言
http://lysoft.7u7.netTop
78 楼deepWATERblue(深水蓝)回复于 2004-01-06 01:40:21 得分 0
不错。测试。用delphi写的吗?Top
79 楼ehom(?!)回复于 2004-01-06 01:54:21 得分 0
解码器是用了un4seen developments的Bass 2.0
不过把用什么开发工具作为判断是不是自己写解码部分并不恰当,我就用Delphi写过Huffman编/解码.而且网上可以找到的MP3编/解码代码基本都是纯C写的,如果要用Pascal写,基本只能自己动手了.所以如果完全用Delphi开发,而且没有用到动态链接库,基本就可以肯定是自己写的编/解码部分.用VC开发反而可以利用大量现成的代码.
不过写纯算法确实是用C爽啊,Pascal代码写起来实在太臃肿了.Top
80 楼ehom(?!)回复于 2004-01-06 02:04:56 得分 0
顺便说句,楼主这种把解码用的动态链接库文件改名隐藏起来的做法是不太合规矩的Top
81 楼amei2000go(浪子)回复于 2004-01-06 04:01:25 得分 0
我今天用它听了一天的歌了,总体感觉很好,但是还是发现了一个问题:
你的频谱显示太浪费资源了,大概需要使用20%左右的系统资源,这样确实不太好,应该改进一下算法,不知你是如何实现的,做这样的操作应该不需要太多的时间的
还有一个建议:如果软件在后台显示你可以不需要刷新显示的,希望能和你交个朋友,tquery@163.comTop
82 楼amei2000go(浪子)回复于 2004-01-06 04:14:30 得分 0
还有一个建议,君不见加载很多文件时会很慢吗?(至少我用了超过十几秒钟,实在太...)
其实解决起来很简单的,用多线程加载就好了,并且只加载当前页显示的文件,其他不显示
还有,在拖动文件列表时好像不太平滑,是不是那个显示文件的东东是你自己做的(有待改进)
希望能看到你更新的作品Top
83 楼yqhi(星晴)回复于 2004-01-06 07:31:24 得分 0
支持你!Top
84 楼mc43(火猴)回复于 2004-01-06 08:36:26 得分 0
太强了,支持楼猪。
像问一下你的程序在windows的任务管理器里面的字会动(像走马灯),是怎么实现的,感兴趣~Top
85 楼XXSingle(心无了然)回复于 2004-01-06 08:58:56 得分 0
用了一下,写得不错!Top
86 楼chy105(烽火必胜)回复于 2004-01-06 09:02:24 得分 0
还行阿!Top
87 楼mp2780304(嗜好者)回复于 2004-01-06 09:22:42 得分 0
Very good!Top
88 楼crossbow(【以无形为形】)回复于 2004-01-06 10:03:09 得分 0
呵呵...Top
89 楼crossbow(【以无形为形】)回复于 2004-01-06 10:06:35 得分 0
LiuYang兄,这好像是Aspack加的壳吧?
一个人也是无法和WinAmp的30多个人相抗衡...Top
90 楼tglong(Dragon)回复于 2004-01-06 10:08:43 得分 0
不错,只是太耗资源。
弹出的其它界面没什么花样,与主界面有点不协调Top
91 楼Softor(Yves)回复于 2004-01-06 10:55:55 得分 0
我正在用你的播放器欣赏音乐呢!感觉很棒!期待你的正式版本!Top
92 楼net_morning(矿泉水)回复于 2004-01-06 11:06:54 得分 0
下载不了Top
93 楼laiguorong(Win Lai)回复于 2004-01-06 12:12:02 得分 0
to yingshang (伤影) :
有这些方面的相关资料吗?我想要
我的邮箱:lai231@163.comTop
94 楼Hedonism(江悦)回复于 2004-01-06 12:33:00 得分 0
支持。UPTop
95 楼okook(一天一个愿望)回复于 2004-01-06 12:50:55 得分 0
楼主加油:)
Top
96 楼loveghb(温柔的毒药)回复于 2004-01-06 13:04:23 得分 0
超强!!!!!!!!!!!
菜鸟十分汗颜!!!!!!!
以后多加餐饭!向高手学习!
:)
Top
97 楼huisheng(悔晟)回复于 2004-01-07 14:52:14 得分 0
不错,只是占资源太大Top
98 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-01-08 00:20:55 得分 0
LY的分析结果:
ASPack保护的
ZL2比起ZL1.x就有很大进步了,我还有ZL1的SRC
ZL1.x用MMMedia组件的,到了ZL2就取消了,改为使用DLL以Plug-in的方式。
分析发现ZL_DcdMW.dll是Un4seen的DLL,从接口看,是音频处理Mixer和Decode来的,没有这个DLL,ZL就不能Run而且会有严重的AV错误,这是个要改进的地方:应该给出提示,而不是程序出现非法错误而导致无法关闭
ZL_Mp3Wav.dll是自己编写的MP3文件处理部分,使用Delphi6写的,是实现MP3文件的处理,包括FFT变换,可惜解码还是别人的。
解码器我所见的都是C版的,没见有Delphi版的。我也都用Delphi写过HuffMan编码,那个是以前多大学的作业来的。我当然知道用工具判断不是自己写解码部分是不恰当的,但是经验告诉我对于个人开发,用Delphi写主程序的人,多半不会写C版的解码器的
ZL_MAWD.dll是视频处理DLL,使用DSPack的DirectShow9播放AVI等文件的,使用的是M$的东西,不能播放Windows不支持的文件
界面上使用SUIPack,这个没有什么好说的,有Bug也是SUI的问题
程序和DLL都是Delphi6开发的,如果ZL_DcdMW.dll都是自己开发的那就真正完全是自己的技术了。
用Windows Media Player就知道改变其音量是不会影响系统的其他音量的,但ZL改变的是Wave通道的音量,如果能改善这个问题就好了
当Plug-in没有的时候建议显示提示窗口,不要什么反应都没有
从应用的角度来看,再做Media Player这类软件没有什么应用的,有太多的同类软件了M$的,RealOne,WinAMP。连Media Player Classic都很好用,除非你的ZL有所突破,否则不会有什么人用的,想收费更加没可能
从开发的角度来看,我是非常支持的,作为技术的研究是值得支持鼓励的
总的来说,这个软件做得都很好的。对于MP3解码器,用的是第三方的DLL,但FFT的显示效果和EQ两个功能还是很有深度的,但以波形显示的效果很不理想,对比WinAMP,Media Player就知道了,柱状图效果还是很好的,还有就是CPU资源占用率比较高,如能添加URL播放功能就更好了
另外FreeAMP是OpenSource的,但代码是C++的,作为研究还是很好的
完全是我的看法,如有不正确,欢迎指正
LYFTP
http://lysoft.7u7.netTop
99 楼miky(miky)回复于 2004-01-08 03:29:53 得分 0
漂亮,我喜欢,有源码更好!!Top
100 楼xiong1979(太空一号)回复于 2004-01-08 08:33:05 得分 0
很好,不知界面做的时候用做哪些工具?Top
101 楼wengj(做了两年的软件,想换个行业)回复于 2004-01-08 09:23:05 得分 0
支持网页?Top
102 楼Free123Man(Free_Man)回复于 2004-01-08 09:40:38 得分 0
真的很不错,很漂亮,对,我也觉得弹出的提示框,可以用suipack的Box组件做或自己做一个漂亮的窗体呀,协调些了,呵呵,是不?Top
103 楼stone20020830(骄阳)回复于 2004-01-08 09:55:11 得分 0
提个意见.我一见播放器就习惯性的往里面拖文件,可它非让我建个列表.对于懒鬼一族只怕有点不喜欢.希望能加入拖放功能.就更加完美了.Top
104 楼siwuge(五哥)回复于 2004-01-08 10:20:40 得分 0
收Top
105 楼hkbarton(→Beginner←)回复于 2004-01-08 15:54:06 得分 0
恩,好久不看,都分析了那么一大堆东西了呀。不过总的说来,我觉得楼主相当的不错,从技术上来看软件也还是不错。是高手哈。Top
106 楼crossbow(【以无形为形】)回复于 2004-01-09 15:59:23 得分 0
LiuYang兄,你怎么知道快速傅立叶转换的代码在ZL_Mp3Wav.dll里面啊?
Delphi确实是开发工具中的快餐,想写底层的东西很困难...FreeAmp我原来下了一个,没时间看,最后又删除了..... @_@
忙了几天,今天才空闲下来,今天晚上好好研究研究,向LiuYang老大学习。这里我最佩服LiuYang和ehom的水平了,学习!Top
107 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-01-10 00:41:13 得分 0
更正:
ZL2使用的界面组件应该是Dynamic SkinForm
在http://www.almdev.com/可以找到
傅立叶转换的代码在ZL_Mp3Wav.dll里面我是猜想的,分析发现有一个接口名为GetFFTData
,据此估计的
解码Dll是ZL_DcdMW.dll,其实是BASS组件
这里可以下载最新版本V1.5
http://delphi.icm.edu.pl/ftp/d30free/TBASSPlayer.zip
说明如下
TBASSPlayer is a Delphi component which can play WAV, MPx(MP1 /MP2/MP3), WMA and Ogg Vorbis files using BASS sound system ( BASS.DLL and BASSWMA.DLL). TBASSPlayer also can play other stream file types using Winamp 2 input plug-ins such as ASF, MID, CDA(Audio CD) and any other file types if you have appropriate plug- ins for them.
更详细的看http://delphi.icm.edu.pl/ftp/d30free/TBASSPlayer.htmTop
108 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-01-10 01:01:34 得分 0
Dynamic SkinForm的Src下载页面:
http://www.fixdown.com/soft/9551.htmTop
109 楼nzh517(沙中泥)回复于 2004-01-10 01:18:21 得分 0
Good
我什么时候能达到这种程度Top
110 楼mmdrr()回复于 2004-01-10 01:42:00 得分 0
俺在使用,挺好的,有点占资源,cpu占用50%左右,但还是喜欢用,挺方便的Top
111 楼huanzhugege(http://www.blogjava.net/huanzhugege)回复于 2004-01-10 11:26:10 得分 0
发现一个bug,在“新建列表”中填入“http://www.real.com/playerplus/?lang=cn”就会报错,你应该截获这个错误Top
112 楼seeland(seeland)回复于 2004-01-10 11:28:16 得分 0
不错Top
113 楼yusi008(夜孤城)回复于 2004-01-10 11:54:23 得分 0
做的不错 就是支持的格式太少 你可以把它和realplayer帮定起来这样就可以放很多格式了Top
114 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-01-10 12:16:42 得分 0
经过几天研究,都应该有个总结了
ZL2使用的是Un4Seen.com的Bass2.dll作为解码器,
而调用Bass2的组件也是使用第三方的TBassPlayer组件
BassPlayer组件可以调用Bass2和WinAMP2.x版本的Plug-in,功能极其强大,不只是支持MP3而已,还能支持WMA,OGG,还有WinAMP所支持的所有格式(通过WInAMP的Plug-in);BassPlayer还支持URL流播放的
ZL的作者还没有添加这些功能
而FFT变换和效果显示,EQ都是通过BassPlayer在Plug-in中实现的
BassPlayer的Demo包括有完整的功能,附加上WinAMP的Plug-in,完全拥有和WinAMP相同的功能,可惜技术还是WinAMP的;下载BassPlayer组件用一用那个Demo就知道,基本功能非常的完整
下载BassPlayer组件:http://delphi.icm.edu.pl/ftp/d30free/TBASSPlayer.zip
ZL2界面是组件Dynamic SkinForm的效果,ZL2中文件nvdvd.zls其实是ZIP文件,包含Dynamic SkinForm的SkinData的
下载Dynamic SkinForm的破解版:http://www.fixdown.com/fixdown/download.asp?id=9551&soft=fjdown
在技术上,ZL的作者只是添加了一个播放列表和一些附加的功能,主要的功能均不是自己的技术,都是BassPlayer和Bass2.dll实现的,FFT频谱,EQ都不是作者自己开发的,但作者刻意隐藏和改名别人的组件这样的行为是非常的不负责的,不是自己写的解码器,竟然封装起来,About里面显示自己的版权。就整个软件而言,作者所做的功夫着实没有多少,与使用TMediaPlayer写的大同小异,只是BassPlayer有自己的解码器,用WinAMP的Plug-in。
我无意说作者的不是,这都是实事求是,我用几个小时的时间看这个软件,纯粹是技术上的,不存在个人攻击,请见谅了。Top
115 楼shanxing(*努力奋斗每一天(因为我是中专生)*)回复于 2004-01-10 12:33:21 得分 0
是不错Top
116 楼year2000bug(江南)回复于 2004-01-11 03:02:49 得分 0
以前曾经看过liu yang写的sql相当的精悍。
没想到liu yang的跟踪技术还是一样厉害。
高手啊,汗颜。。。Top
117 楼apple2008cn(笨笨--从头开始学起)回复于 2004-01-11 06:10:47 得分 0
去下载看看Top
118 楼apple2008cn(笨笨--从头开始学起)回复于 2004-01-11 06:17:25 得分 0
恩试了试不错!音质不错!是个好软件!回来和楼主交流一下!Top
119 楼ingener(祝福)回复于 2004-01-11 08:41:44 得分 0
看看先。Top
120 楼dixiao4(冰镜)回复于 2004-01-14 09:01:42 得分 0
虽然看起来不错
从市场角度来说是垃圾Top




