菲菲 2008-6-27 08:33
简单的Silverlight音乐播放器Widget
本来是想设计的稍微酷一点的,发现[color=#0000ff]Silverlight2的矩阵变形能力[/color]还是相当弱的,其实现的功能也就是平移、平行四边形化和旋转,如果再支持梯形化就好了。
[img]http://www.cnblogs.com/images/cnblogs_com/xiaoshatian/85614/draft.jpg[/img][img]http://www.cnblogs.com/images/cnblogs_com/xiaoshatian/85614/windstyleplayer.jpg[/img]
发现Silverlight 2 beta2相对beta1的一些小变化:
1.字体优化,beta1总算支持了中文显示,但却显示的非常别扭。
一句话会出现两种字体,貌似规律是这样的,如果某个汉字的繁简体一样的话,那么这个汉字在Silverlight中显示为黑体,否则为宋体。
其实微软的网站上早就有这样的先例,譬如下图:
[img]http://www.cnblogs.com/images/cnblogs_com/xiaoshatian/85614/fontonmssite.png[/img]
2.Image不再像之前那样使用依赖属性赋一个Uri就可以了,而是变成了下面的样子:
[color=#000000]BitmapImage bmp [/color][color=#000000]=[/color]
[color=#0000ff]new[/color][color=#000000] BitmapImage();
bmp.UriSource [/color][color=#000000]=[/color]
[color=#0000ff]new[/color][color=#000000] Uri(cover);
[/color][color=#0000ff]this[/color][color=#000000].img_Cover.Source [/color][color=#000000]=[/color][color=#000000] bmp;[/color]
3.另外,之前[color=#0000ff]基于beta1制作的饭否widget[/color]无法编译通过了,在异步调用的方法中,似乎无法直接操作控件的属性了,不知何解。
OK。如果你也想在blog上添加这个widget,那么编辑主题,在相应的位置加入以下代码: [color=#0000ff]<[/color][color=#800000]object [/color][color=#ff0000]data[/color][color=#0000ff]="data:application/x-silverlight,"[/color][color=#ff0000] type[/color][color=#0000ff]="application/x-silverlight-2-b2"[/color][color=#ff0000] width[/color][color=#0000ff]="140"[/color][color=#ff0000] height[/color][color=#0000ff]="160"[/color][color=#0000ff]>[/color][color=#000000]
[/color][color=#0000ff]<[/color][color=#800000]param [/color][color=#ff0000]name[/color][color=#0000ff]="source"[/color][color=#ff0000] value[/color][color=#0000ff]="http://blog.windstyle.cn/wp-content/uploads/2008/06/windstyleplayer.xap"[/color][color=#0000ff]/>[/color][color=#000000]
[/color][color=#0000ff]<[/color][color=#800000]param [/color][color=#ff0000]name[/color][color=#0000ff]="onerror"[/color][color=#ff0000] value[/color][color=#0000ff]="onSilverlightError"[/color][color=#0000ff]/>[/color][color=#000000]
[/color][color=#0000ff]<[/color][color=#800000]param [/color][color=#ff0000]name[/color][color=#0000ff]="InitParams"[/color][color=#ff0000] value[/color][color=#0000ff]="music=http://lqyy.cnlu.net/UploadFile/2008-4/200841718293180.mp3,cover=http://img.verycd.com/post_thumbs/0804/post-511307-1208867652_thumb.jpg,title=鸿雁 - 额尔古纳乐队,auto=true,loop=true"[/color][color=#0000ff]/>[/color][color=#000000]
[/color][color=#0000ff]<[/color][color=#800000]param [/color][color=#ff0000]name[/color][color=#0000ff]="background"[/color][color=#ff0000] value[/color][color=#0000ff]="#09182A"[/color][color=#0000ff]/>[/color][color=#000000]
[/color][color=#0000ff]<[/color][color=#800000]a [/color][color=#ff0000]href[/color][color=#0000ff]="http://go.microsoft.com/fwlink/?LinkID=115261"[/color][color=#ff0000] style[/color][color=#0000ff]="text-decoration: none;"[/color][color=#0000ff]>[/color][color=#000000]
[/color][color=#0000ff]<[/color][color=#800000]img [/color][color=#ff0000]src[/color][color=#0000ff]="http://go.microsoft.com/fwlink/?LinkId=108181"[/color][color=#ff0000] alt[/color][color=#0000ff]="Get Microsoft Silverlight"[/color][color=#ff0000] style[/color][color=#0000ff]="border-style: none"[/color][color=#0000ff]/>[/color][color=#000000]
[/color][color=#0000ff]</[/color][color=#800000]a[/color][color=#0000ff]>[/color][color=#000000]
[/color][color=#0000ff]</[/color][color=#800000]object[/color][color=#0000ff]>[/color]
稍微介绍一下InitParams的配置就可以了,它包含了音乐url(music)、封面url(cover)、标题(title)、自动播放(auto)和循环(loop),各个参数之间用半角逗号分割即可。