silverlight_player_helper 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.textile +36 -0
- data/Rakefile +23 -0
- data/assets/javascripts/silverlight.js +576 -0
- data/assets/javascripts/wmvplayer.js +794 -0
- data/assets/others/preview.jpg +0 -0
- data/assets/others/readme.html +79 -0
- data/assets/others/video.wmv +0 -0
- data/assets/others/wmvplayer.xaml +330 -0
- data/install.rb +2 -0
- data/lib/silverlight_player_helper.rb +2 -0
- data/silverlight_player_helper.gemspec +41 -0
- data/tasks/silverlight_player_helper_tasks.rake +16 -0
- data/test/silverlight_player_helper_test.rb +8 -0
- data/test/test_helper.rb +3 -0
- data/uninstall.rb +2 -0
- metadata +79 -0
Binary file
|
@@ -0,0 +1,79 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
|
5
|
+
<title>JW Player for Silverlight</title>
|
6
|
+
|
7
|
+
<style type="text/css">
|
8
|
+
body { background-color: #fff; padding: 0 20px; color:#000; font: 13px/18px Arial, sans-serif; }
|
9
|
+
a { color: #360; }
|
10
|
+
h3 { padding-top: 20px; }
|
11
|
+
ol { margin:5px 0 15px 16px; padding:0; list-style-type:square; }
|
12
|
+
</style>
|
13
|
+
|
14
|
+
</head>
|
15
|
+
<body>
|
16
|
+
|
17
|
+
<h3>Example</h3>
|
18
|
+
<p>Thanks for downloading! Below you see a simple embedded example of the <a href="http://www.jeroenwijering.com/?item=JW_WMV_Player">JW Player</a>.
|
19
|
+
Copy-paste the source code and put the .JS, .XAML and .WMV files on your site to get started.
|
20
|
+
</p>
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
<div name="mediaspace" id="mediaspace"></div>
|
28
|
+
<script type='text/javascript' src="silverlight.js"></script>
|
29
|
+
<script type='text/javascript' src="wmvplayer.js"></script>
|
30
|
+
<script type="text/javascript">
|
31
|
+
var cnt = document.getElementById("mediaspace");
|
32
|
+
var src = 'wmvplayer.xaml';
|
33
|
+
var cfg = {
|
34
|
+
file:'video.wmv',
|
35
|
+
image:'preview.jpg',
|
36
|
+
height:'240',
|
37
|
+
width:'440'
|
38
|
+
};
|
39
|
+
var ply = new jeroenwijering.Player(cnt,src,cfg);
|
40
|
+
</script>
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
<h3>Licensing</h3>
|
48
|
+
<p>The WMV Player is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/">Creative Commons License</a>.
|
49
|
+
It allows you to use, modify and redistribute the script, but only for <b>noncommercial</b> purposes.
|
50
|
+
For corporate use, <a href="http://www.jeroenwijering.com/?page=order">please apply for a commercial license</a>.
|
51
|
+
</p>
|
52
|
+
|
53
|
+
|
54
|
+
<h3>Quickstart</h3>
|
55
|
+
<p>The easiest way to get to know the player is by using <a href="http://www.jeroenwijering.com/?page=wizard">the setup wizard</a>.
|
56
|
+
Select an example, set the file or playlist you want to play and copy-paste the embed code to your site.
|
57
|
+
</p>
|
58
|
+
|
59
|
+
|
60
|
+
<h3>Wiki</h3>
|
61
|
+
<p>The <a href="http://code.longtailvideo.com/trac">JW Player Wiki</a> contains a wealth of information about the player, including:</p>
|
62
|
+
<ol>
|
63
|
+
<li>All <a href="http://code.longtailvideo.com/trac/wiki/SLFormats">supported file formats</a> (and playlists).</li>
|
64
|
+
<li>All <a href="http://code.longtailvideo.com/trac/wiki/SLVars">supported variables</a> for customizing the player.</li>
|
65
|
+
<li>The <a href="http://code.longtailvideo.com/trac/wiki/SLAPI">javascript API</a> documentation.</li>
|
66
|
+
<li>All <a href="http://code.longtailvideo.com/trac">previous versions</a> of the player.</li>
|
67
|
+
</ol>
|
68
|
+
|
69
|
+
|
70
|
+
<h3>Next steps</h3>
|
71
|
+
<p>If you're ready to get professional about online video, check out these two services that take your site to the next level:</p>
|
72
|
+
<ol>
|
73
|
+
<li><a href="http://www.longtailvideo.com">LongTail Video</a> is a no-nonsense video advertisement network that will increase your traffic and monetize your streams. <a href="http://www.longtailvideo.com.com/signup.asp">Sign up</a>.</li>
|
74
|
+
<li><a href="http://www.bitsontherun.com">Bits on the Run</a> is a hassle-free video management system that handles the encoding, streaming and tracking of your videos. <a href="http://www.bitsontherun.com.com/signup">Sign up</a>.</li>
|
75
|
+
</ol>
|
76
|
+
|
77
|
+
|
78
|
+
</body>
|
79
|
+
</html>
|
Binary file
|
@@ -0,0 +1,330 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!--
|
3
|
+
JW WMV Player version 1.1, created with M$ Silverlight 1.0.
|
4
|
+
|
5
|
+
This file contains all logic for the JW WMV Player. For a functional setup,
|
6
|
+
the following two files are also needed:
|
7
|
+
- silverlight.js (for instantiating the silverlight plugin)
|
8
|
+
- wmvplayer.js (this file contains all the scripting logic)
|
9
|
+
|
10
|
+
More info: http://www.jeroenwijering.com/?item=JW_WMV_Player
|
11
|
+
-->
|
12
|
+
|
13
|
+
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="320" Height="260">
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
<Canvas x:Name="PlayerDisplay" Width="320" Height="240" Background="#FF000000" Visibility="Collapsed">
|
19
|
+
<Image x:Name="PlaceholderImage" Width="320" Height="240" />
|
20
|
+
<MediaElement x:Name="VideoWindow" Width="320" Height="240" />
|
21
|
+
<Canvas x:Name="PlayIcon" Width="40" Height="40" Canvas.Left="140" Canvas.Top="100">
|
22
|
+
<Path x:Name="PlayIconBack" Width="40" Height="40" Fill="#77000000" Data="F1 M4,0 L36,0 C38,0 40,2 40,4 L40,36 C40,38 38,40 36,40 L4,40 C2,40 0,38 0,36 L0,4 C0,2 2,0 4,0 Z"/>
|
23
|
+
<Path x:Name="PlayIconFront" Width="18" Height="18" Canvas.Left="12" Canvas.Top="11" Fill="#FFFFFFFF" Data="F1 M0,0 L18,9 L0,18 L0,0 Z"/>
|
24
|
+
</Canvas>
|
25
|
+
<Canvas x:Name="MuteIcon" Width="40" Height="40" Canvas.Left="140" Canvas.Top="100" Visibility="Collapsed">
|
26
|
+
<Path x:Name="MuteIconBack" Width="40" Height="40" Fill="#77000000" Data="F1 M4,0 L36,0 C38,0 40,2 40,4 L40,36 C40,38 38,40 36,40 L4,40 C2,40 0,38 0,36 L0,4 C0,2 2,0 4,0 Z"/>
|
27
|
+
<Path x:Name="MuteIconFront" Width="18" Height="18" Canvas.Left="13" Canvas.Top="11" Fill="#FFFFFFFF" Data="F1 M0,4 L4,4 L4,14 L0,14 L0,4 M6,4 L11,0 L11,18 L6,14 L6,4 M14,8 L18,8 L18,10 L14,10 L14,8 Z"/>
|
28
|
+
</Canvas>
|
29
|
+
<Canvas x:Name="BufferIcon" Width="32" Height="32" Canvas.Left="148" Canvas.Top="98" Visibility="Collapsed">
|
30
|
+
<Canvas.RenderTransform>
|
31
|
+
<RotateTransform x:Name="BufferRotation" Angle="0" CenterX="16" CenterY="16" />
|
32
|
+
</Canvas.RenderTransform>
|
33
|
+
<Canvas.Triggers>
|
34
|
+
<EventTrigger RoutedEvent="Canvas.Loaded">
|
35
|
+
<BeginStoryboard>
|
36
|
+
<Storyboard>
|
37
|
+
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="BufferRotation" Storyboard.TargetProperty="Angle" Duration="0:0:1.2" RepeatBehavior="Forever">
|
38
|
+
<DiscreteDoubleKeyFrame Value="30" KeyTime="0:0:0.1" />
|
39
|
+
<DiscreteDoubleKeyFrame Value="60" KeyTime="0:0:0.2" />
|
40
|
+
<DiscreteDoubleKeyFrame Value="90" KeyTime="0:0:0.3" />
|
41
|
+
<DiscreteDoubleKeyFrame Value="120" KeyTime="0:0:0.4" />
|
42
|
+
<DiscreteDoubleKeyFrame Value="150" KeyTime="0:0:0.5" />
|
43
|
+
<DiscreteDoubleKeyFrame Value="180" KeyTime="0:0:0.6" />
|
44
|
+
<DiscreteDoubleKeyFrame Value="210" KeyTime="0:0:0.7" />
|
45
|
+
<DiscreteDoubleKeyFrame Value="240" KeyTime="0:0:0.8" />
|
46
|
+
<DiscreteDoubleKeyFrame Value="270" KeyTime="0:0:0.9" />
|
47
|
+
<DiscreteDoubleKeyFrame Value="300" KeyTime="0:0:1" />
|
48
|
+
<DiscreteDoubleKeyFrame Value="330" KeyTime="0:0:1.1" />
|
49
|
+
<DiscreteDoubleKeyFrame Value="360" KeyTime="0:0:1.2" />
|
50
|
+
</DoubleAnimationUsingKeyFrames>
|
51
|
+
</Storyboard>
|
52
|
+
</BeginStoryboard>
|
53
|
+
</EventTrigger>
|
54
|
+
</Canvas.Triggers>
|
55
|
+
<Path x:Name="BufferPath1" Width="2" Height="8" Canvas.Left="15" Canvas.Top="0" Stretch="Fill" Fill="#FFFFFFFF" Data="F1 M16,0 L16,0 C16.55,0 17,0.45 17,1 L17,7 C17,7.55 16.55,8 16,8 L16,8C 15.45,8 15,7.55 15,7 L15,1 C15,0.45 15.45,0 16,0 Z "/>
|
56
|
+
<Path x:Name="BufferPath2" Width="5" Height="7.2" Canvas.Left="7.5" Canvas.Top="2" Stretch="Fill" Fill="#EEFFFFFF" Data="F1 M8,2.14 L8,2.14 C8.48,1.87 9.09,2.03 9.37,2.51 L12.366,7.71 C12.64,8.18 12.48,8.80 12,9.07 L12,9.07 C11.52,9.35 10.91,9.18 10.63,8.71 L7.63,3.51 C7.36,3.03 7.52,2.42 8,2.14 Z "/>
|
57
|
+
<Path x:Name="BufferPath3" Width="7.2" Height="5" Canvas.Left="2" Canvas.Top="7.5" Stretch="Fill" Fill="#DDFFFFFF" Data="F1 M2.14,8. L2.14,8 C2.42,7.52 3.03,7.36 3.51,7.63 L8.71,10.63 C9.18,10.91 9.35,11.52 9.07,12 L9.07,12 C8.80,12.48 8.18,12.64 7.71,12.36 L2.51,9.37 C2.03,9.09 1.87,8.48 2.14,8 Z "/>
|
58
|
+
<Path x:Name="BufferPath4" Width="8" Height="2" Canvas.Left="0" Canvas.Top="15" Stretch="Fill" Fill="#BBFFFFFF" Data="F1 M0,16 L0,16 C0,15.45 0.45,15 1,15 L7,15 C7.55,15 8,15.45 8,16 L8,16 C8,16.55 7.55,17 7,17 L1,17 C0.45,17 0,16.55 0,16 Z "/>
|
59
|
+
<Path x:Name="BufferPath5" Width="7.2" Height="5" Canvas.Left="2" Canvas.Top="19.5" Stretch="Fill" Fill="#AAFFFFFF" Data="F1 M2.14,24 L2.14,24 C1.87,23.52 2.03,22.91 2.51,22.63 L7.71,19.63 C8.18,19.35 8.80,19.52 9.08,20 L9.07,20 C9.35,20.48 9.18,21.09 8.71,21.36 L3.51,24.37 C3.03,24.64 2.42,24.48 2.14,24 Z "/>
|
60
|
+
<Path x:Name="BufferPath6" Width="5" Height="7.2" Canvas.Left="7.5" Canvas.Top="22.8" Stretch="Fill" Fill="#99FFFFFF" Data="F1 M8,29.86 L8,29.86 C7.52,29.58 7.36,28.97 7.63,28.49 L10.63,23.29 C10.91,22.82 11.52,22.65 12,22.93 L12,22.93 C12.48,23.20 12.64,23.82 12.37,24.29 L9.37,29.49 C9.09,29.97 8.48,30.13 8,29.86 Z "/>
|
61
|
+
<Path x:Name="BufferPath7" Width="2" Height="8" Canvas.Left="15" Canvas.Top="24" Stretch="Fill" Fill="#77FFFFFF" Data="F1 M16,24 L16,24 C16.55,24 17,24.45 17,25 L17,31 C17,31.55 16.55,32 16,32 L16,32 C15.45,32 15,31.55 15,31 L15,25 C15,24.45 15.45,24 16,24 Z "/>
|
62
|
+
<Path x:Name="BufferPath8" Width="5" Height="7.2" Canvas.Left="19.5" Canvas.Top="22.8" Stretch="Fill" Fill="#66FFFFFF" Data="F1 M20,22.93 L20,22.93 C20.48,22.65 21.09,22.82 21.36,23.29 L24.37,28.49 C24.64,28.97 24.48,29.58 24,29.86 L24,29.86 C23.52,30.13 22.91,29.97 22.63,29.49 L19.63,24.29 C19.36,23.82 19.52,23.20 20,22.93 Z "/>
|
63
|
+
<Path x:Name="BufferPath9" Width="7.2" Height="5" Canvas.Left="22.8" Canvas.Top="19.5" Stretch="Fill" Fill="#55FFFFFF" Data="F1 M22.93,20 L22.93,20 C23.20,19.52 23.82,19.36 24.29,19.63 L29.49,22.63 C29.97,22.91 30.13,23.52 29.86,24 L29.86,24 C29.58,24.48 28.97,24.64 28.49,24.37 L23.29,21.37 C22.82,21.09 22.65,20.48 22.93,20 Z "/>
|
64
|
+
<Path x:Name="BufferPath10" Width="8" Height="2" Canvas.Left="24" Canvas.Top="15" Stretch="Fill" Fill="#33FFFFFF" Data="F1 M24,16 L24,16 C24,15.45 24.45,15 25,15 L31,15 C31.55,15 32,15.45 32,16 L32,16 C32,16.55 31.55,17 31,17 L25,17 C24.45,17 24,16.55 24,16 Z "/>
|
65
|
+
<Path x:Name="BufferPath11" Width="7.2" Height="5" Canvas.Left="22.8" Canvas.Top="7.5" Stretch="Fill" Fill="#22FFFFFF" Data="F1 M 22.93,12 L22.93,12 C22.65,11.52 22.82,10.91 23.29,10.63 L28.49,7.63 C28.97,7.36 29.58,7.52 29.86,8 L29.86,8 C30.13,8.48 29.97,9.09 29.49,9.37 L24.29,12.36 C23.82,12.64 23.20,12.48 22.93,12 Z "/>
|
66
|
+
<Path x:Name="BufferPath12" Width="5" Height="7.2" Canvas.Left="19.5" Canvas.Top="2" Stretch="Fill" Fill="#11FFFFFF" Data="F1 M 20,9.07 L20,9.07 C19.52,8.80 19.36,8.18 19.63,7.71 L22.63,2.51 C22.91,2.03 23.52,1.87 24,2.14 L24,2.14 C24.48,2.42 24.64,3.03 24.37,3.51 L21.37,8.71 C21.09,9.18 20.48,9.35 20,9.07 Z "/>
|
67
|
+
</Canvas>
|
68
|
+
<TextBlock x:Name="BufferText" Canvas.Left="158" Canvas.Top="108" FontFamily="Verdana" FontSize="9" FontWeight="Bold" Foreground="#FFFFFFFF" Width="12" Height="10"/>
|
69
|
+
<Canvas x:Name="OverlayCanvas" Width="300" Height="200" Canvas.Left="220" Canvas.Top="10" Visibility="Collapsed">
|
70
|
+
<Canvas.Background>
|
71
|
+
<ImageBrush x:Name="OverlayLogo" AlignmentX="Right" AlignmentY="Top" Stretch="None" />
|
72
|
+
</Canvas.Background>
|
73
|
+
</Canvas>
|
74
|
+
</Canvas>
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<Canvas x:Name="PlayerControls" Width="320" Height="20" Canvas.Top="240" Visibility="Collapsed">
|
80
|
+
<Rectangle x:Name="ControlbarBack" Width="320" Height="19" Fill="#FFFFFFFF" />
|
81
|
+
|
82
|
+
|
83
|
+
<Canvas x:Name="VolumeButton" Width="24" Height="20" Canvas.Left="296">
|
84
|
+
<Rectangle x:Name="VolumeShadow" Width="24" Height="1" Canvas.Top="19" Stretch="Fill" Fill="#55000000"/>
|
85
|
+
<Path x:Name="VolumeStroke" Width="24" Height="19" Data="F1 M 0,0 L 24,0 L 24,19 L 0,19 L 0,18 L 23,18 L 23,1 L 0,1 0,0 Z ">
|
86
|
+
<Path.Fill>
|
87
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
88
|
+
<LinearGradientBrush.GradientStops>
|
89
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
90
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
91
|
+
</LinearGradientBrush.GradientStops>
|
92
|
+
</LinearGradientBrush>
|
93
|
+
</Path.Fill>
|
94
|
+
</Path>
|
95
|
+
<Rectangle x:Name="VolumeFill" Width="23" Height="17" Canvas.Top="1">
|
96
|
+
<Rectangle.Fill>
|
97
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
98
|
+
<LinearGradientBrush.GradientStops>
|
99
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
100
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
101
|
+
</LinearGradientBrush.GradientStops>
|
102
|
+
</LinearGradientBrush>
|
103
|
+
</Rectangle.Fill>
|
104
|
+
</Rectangle>
|
105
|
+
<Canvas x:Name="VolumeMask" Width="18" Height="19" Clip="F1 M1,9 L2,9 L2,10 L1,10 L1,9 M3,8.5 L4,8.5 L4,10.5 L3,10.5 L3,8.5 M5,8 L6,8 L6,11 L5,11 L5,8 M7,7.5 L8,7.5 L8,11.5 L7,11.5 L7,7.5 M9,7 L10,7 L10,12 L9,12 L9,7 M11,6.5 L12,6.5 L12,12.5 L11,12.5 L11,6.5 M13,6 L14,6 L14,13 L13,13 L13,6 M15,5.5 L16,5.5 L16,13.5 L15,13.5 L15,5.5 M17,5 L18,5 L18,14 L17,14 L17,5 Z">
|
106
|
+
<Rectangle x:Name="VolumeSlider" Width="18" Height="15" Canvas.Top="2" Opacity="0.3" Fill="#FF000000"/>
|
107
|
+
<Rectangle x:Name="VolumeHighlight" Width="18" Height="15" Canvas.Top="2" Fill="#FF000000"/>
|
108
|
+
<Rectangle x:Name="VolumeSymbol" Width="1" Canvas.Top="6" Height="7" Fill="#00000000"/>
|
109
|
+
</Canvas>
|
110
|
+
</Canvas>
|
111
|
+
|
112
|
+
|
113
|
+
<Canvas x:Name="MuteButton" Width="13" Height="20" Canvas.Left="283">
|
114
|
+
<Rectangle x:Name="MuteShadow" Width="13" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
115
|
+
<Path x:Name="MuteStroke" Width="13" Height="19" Data="F 1 M 0,0 L 13,0 L 13,1 L 1,1 L 1,18 L 13,18 L 13,19 L 0,19 0,0 Z ">
|
116
|
+
<Path.Fill>
|
117
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
118
|
+
<LinearGradientBrush.GradientStops>
|
119
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
120
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
121
|
+
</LinearGradientBrush.GradientStops>
|
122
|
+
</LinearGradientBrush>
|
123
|
+
</Path.Fill>
|
124
|
+
</Path>
|
125
|
+
<Rectangle x:Name="MuteFill" Width="12" Height="17" Canvas.Left="1" Canvas.Top="1">
|
126
|
+
<Rectangle.Fill>
|
127
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
128
|
+
<LinearGradientBrush.GradientStops>
|
129
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
130
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
131
|
+
</LinearGradientBrush.GradientStops>
|
132
|
+
</LinearGradientBrush>
|
133
|
+
</Rectangle.Fill>
|
134
|
+
</Rectangle>
|
135
|
+
<Path x:Name="MuteOffSymbol" Width="5" Height="7" Canvas.Left="6" Canvas.Top="6" Fill="#FF000000" Data="F 1 M 0,2 L2,2 L 2,5 L0,5 L0,0 M3,1 L4,1 L4,0 L5,0 L5,7 L4,7 L4,6 L3,6 L3,1 Z "/>
|
136
|
+
<Path x:Name="MuteSymbol" Width="5" Height="7" Canvas.Left="6" Canvas.Top="6" Opacity="0.3" Fill="#FF000000" Data="F 1 M 0,2 L2,2 L 2,5 L0,5 L0,0 M3,1 L4,1 L4,0 L5,0 L5,7 L4,7 L4,6 L3,6 L3,1 Z "/>
|
137
|
+
</Canvas>
|
138
|
+
|
139
|
+
|
140
|
+
<Canvas x:Name="FullscreenButton" Width="18" Height="20" Canvas.Left="265">
|
141
|
+
<Rectangle x:Name="FullscreenShadow" Width="18" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
142
|
+
<Path x:Name="FullscreenStroke" Width="18" Height="19" Canvas.Left="0" Canvas.Top="0" Data="F1 M0,0 L18,0 L18,1 L1,1 L1,18 L18,18 L 18,19 L0,19 L0,0 Z ">
|
143
|
+
<Path.Fill>
|
144
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
145
|
+
<LinearGradientBrush.GradientStops>
|
146
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
147
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
148
|
+
</LinearGradientBrush.GradientStops>
|
149
|
+
</LinearGradientBrush>
|
150
|
+
</Path.Fill>
|
151
|
+
</Path>
|
152
|
+
<Rectangle x:Name="FullscreenFill" Width="17" Height="17" Canvas.Left="1" Canvas.Top="1">
|
153
|
+
<Rectangle.Fill>
|
154
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
155
|
+
<LinearGradientBrush.GradientStops>
|
156
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
157
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
158
|
+
</LinearGradientBrush.GradientStops>
|
159
|
+
</LinearGradientBrush>
|
160
|
+
</Rectangle.Fill>
|
161
|
+
</Rectangle>
|
162
|
+
<Path x:Name="FullscreenSymbol" Width="9" Height="9" Canvas.Left="5" Fill="#FF000000" Canvas.Top="5" Data="F1 M0,0 L2,0 L2,1 L1,1 L1,2 L0,2 L0,0 M0,7 L1,7 L1,8 L2,8 L2,9 L0,9 L0,7 M7,0 L9,0 L9,2 L8,2 L8,1 L7,1 L7,0 M8,7 L9,7 L9,9 L7,9 L7,8 L8,8 L8,7 M2,2 L7,2 L7,7 L2,7 L2,2 Z" />
|
163
|
+
<Path x:Name="FullscreenOffSymbol" Width="9" Height="9" Canvas.Left="5" Fill="#00000000" Canvas.Top="5" Visibility="Collapsed" Data="F1 M1,0 L2,0 L2,2 L0,2 L0,1 L1,1 L1,0 M0,7 L2,7 L2,9 L1,9 L1,8 L0,8 L0,7 M7,0 L8,0 L8,1 L9,1 L9,2 L7,2 L7,0 M7,7 L9,7 L9,8 L8,8 L8,9 L7,9 L7,7 M2,2 L7,2 L7,7 L2,7 L2,2 Z" />
|
164
|
+
</Canvas>
|
165
|
+
|
166
|
+
|
167
|
+
<Canvas x:Name="LinkButton" Width="18" Height="20" Canvas.Left="247">
|
168
|
+
<Rectangle x:Name="LinkShadow" Width="18" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
169
|
+
<Path x:Name="LinkStroke" Width="18" Height="19" Canvas.Left="0" Canvas.Top="0" Data="F1 M0,0 L18,0 L18,1 L1,1 L1,18 L18,18 L 18,19 L0,19 L0,0 Z ">
|
170
|
+
<Path.Fill>
|
171
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
172
|
+
<LinearGradientBrush.GradientStops>
|
173
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
174
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
175
|
+
</LinearGradientBrush.GradientStops>
|
176
|
+
</LinearGradientBrush>
|
177
|
+
</Path.Fill>
|
178
|
+
</Path>
|
179
|
+
<Rectangle x:Name="LinkFill" Width="17" Height="17" Canvas.Left="1" Canvas.Top="1">
|
180
|
+
<Rectangle.Fill>
|
181
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
182
|
+
<LinearGradientBrush.GradientStops>
|
183
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
184
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
185
|
+
</LinearGradientBrush.GradientStops>
|
186
|
+
</LinearGradientBrush>
|
187
|
+
</Rectangle.Fill>
|
188
|
+
</Rectangle>
|
189
|
+
<Path x:Name="LinkSymbol" Width="9" Height="9" Canvas.Left="5" Fill="#FF000000" Canvas.Top="5" Data="F1 M2,0 L7,0 L7,4 L9,4 L5,9 L4,9 L0,4 L2,4 L2,0 Z" />
|
190
|
+
</Canvas>
|
191
|
+
|
192
|
+
|
193
|
+
<Canvas x:Name="RemainingButton" Width="35" Height="20" Canvas.Left="207">
|
194
|
+
<Rectangle x:Name="RemainingShadow" Width="35" Height="1" Canvas.Top="19" Fill="#55000000" />
|
195
|
+
<Path x:Name="RemainingStroke" Width="35" Height="19" Stretch="Fill" Data="F1 M0,0 L35,0 L35,01 L0,1 L0,0 M 0,18 L35,18 L35,19 L0,19 L0,18 Z ">
|
196
|
+
<Path.Fill>
|
197
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
198
|
+
<LinearGradientBrush.GradientStops>
|
199
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
200
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
201
|
+
</LinearGradientBrush.GradientStops>
|
202
|
+
</LinearGradientBrush>
|
203
|
+
</Path.Fill>
|
204
|
+
</Path>
|
205
|
+
<Rectangle x:Name="RemainingFill" Width="35" Height="17" Canvas.Left="0" Canvas.Top="1">
|
206
|
+
<Rectangle.Fill>
|
207
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0.0">
|
208
|
+
<LinearGradientBrush.GradientStops>
|
209
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
210
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
211
|
+
</LinearGradientBrush.GradientStops>
|
212
|
+
</LinearGradientBrush>
|
213
|
+
</Rectangle.Fill>
|
214
|
+
</Rectangle>
|
215
|
+
<TextBlock x:Name="RemainingText" Text="00:00" Canvas.Left="1" Canvas.Top="4" FontFamily="Verdana" FontSize="9" FontWeight="Bold" />
|
216
|
+
</Canvas>
|
217
|
+
|
218
|
+
|
219
|
+
<Canvas x:Name="TimeButton" Width="133" Height="20" Canvas.Left="74" Canvas.Top="0">
|
220
|
+
<Rectangle x:Name="TimeShadow" Width="133" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
221
|
+
<Path x:Name="TimeStroke" Width="133" Height="19" Stretch="Fill" Data="F1 M0,0 L168,0 L168,01 L0,1 L0,0 M0,18 L168,18 L168,19 L0,19 L0,18 Z ">
|
222
|
+
<Path.Fill>
|
223
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
224
|
+
<LinearGradientBrush.GradientStops>
|
225
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
226
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
227
|
+
</LinearGradientBrush.GradientStops>
|
228
|
+
</LinearGradientBrush>
|
229
|
+
</Path.Fill>
|
230
|
+
</Path>
|
231
|
+
<Rectangle x:Name="TimeFill" Width="133" Height="17" Canvas.Top="1" Stretch="Fill" >
|
232
|
+
<Rectangle.Fill>
|
233
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
234
|
+
<LinearGradientBrush.GradientStops>
|
235
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
236
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
237
|
+
</LinearGradientBrush.GradientStops>
|
238
|
+
</LinearGradientBrush>
|
239
|
+
</Rectangle.Fill>
|
240
|
+
</Rectangle>
|
241
|
+
<Rectangle x:Name="TimeSlider" Width="123" Height="5" Canvas.Top="7" Canvas.Left="5" Fill="#00000000" Opacity="0" />
|
242
|
+
<Rectangle x:Name="DownloadProgress" Width="123" Height="5" Canvas.Top="7" Canvas.Left="5" Fill="#00000000" Opacity="0.3" />
|
243
|
+
<Rectangle x:Name="TimeHighlight" Width="123" Height="5" Canvas.Top="7" Canvas.Left="5" Fill="#FF000000"/>
|
244
|
+
<Rectangle x:Name="TimeSymbol" Width="2" Height="7" Canvas.Top="6" Canvas.Left="5" Fill="#FF000000"/>
|
245
|
+
</Canvas>
|
246
|
+
|
247
|
+
|
248
|
+
<Canvas x:Name="ElapsedButton" Width="35" Height="20" Canvas.Left="34">
|
249
|
+
<Rectangle x:Name="ElapsedShadow" Width="35" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
250
|
+
<Path x:Name="ElapsedStroke" Width="40" Height="19" Data="F1 M0,0 L35,0 L35,01 L0,1 L0,0 M 0,18 L35,18 L35,19 L0,19 L0,18 Z ">
|
251
|
+
<Path.Fill>
|
252
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
253
|
+
<LinearGradientBrush.GradientStops>
|
254
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
255
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
256
|
+
</LinearGradientBrush.GradientStops>
|
257
|
+
</LinearGradientBrush>
|
258
|
+
</Path.Fill>
|
259
|
+
</Path>
|
260
|
+
<Rectangle x:Name="ElapsedFill" Width="35" Height="17" Canvas.Left="0" Canvas.Top="1">
|
261
|
+
<Rectangle.Fill>
|
262
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0.0">
|
263
|
+
<LinearGradientBrush.GradientStops>
|
264
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
265
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
266
|
+
</LinearGradientBrush.GradientStops>
|
267
|
+
</LinearGradientBrush>
|
268
|
+
</Rectangle.Fill>
|
269
|
+
</Rectangle>
|
270
|
+
<TextBlock x:Name="ElapsedText" Text="00:00" Canvas.Left="6" Canvas.Top="4" FontFamily="Verdana" FontSize="9" FontWeight="Bold" />
|
271
|
+
</Canvas>
|
272
|
+
|
273
|
+
|
274
|
+
<Canvas x:Name="StopButton" Width="17" Height="20" Canvas.Left="17">
|
275
|
+
<Rectangle x:Name="StopShadow" Width="17" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
276
|
+
<Path x:Name="StopStroke" Width="17" Height="19" Canvas.Left="0" Canvas.Top="0" Data="F1 M 0,0 L17,0 L17,19 L0,19 L0,18 L16,18 L16,1 L0,1 L0,0 Z ">
|
277
|
+
<Path.Fill>
|
278
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
279
|
+
<LinearGradientBrush.GradientStops>
|
280
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
281
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
282
|
+
</LinearGradientBrush.GradientStops>
|
283
|
+
</LinearGradientBrush>
|
284
|
+
</Path.Fill>
|
285
|
+
</Path>
|
286
|
+
<Rectangle x:Name="StopFill" Width="16" Height="17" Canvas.Top="1">
|
287
|
+
<Rectangle.Fill>
|
288
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
289
|
+
<LinearGradientBrush.GradientStops>
|
290
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
291
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
292
|
+
</LinearGradientBrush.GradientStops>
|
293
|
+
</LinearGradientBrush>
|
294
|
+
</Rectangle.Fill>
|
295
|
+
</Rectangle>
|
296
|
+
<Path x:Name="StopSymbol" Width="6" Height="7" Canvas.Left="5" Fill="#FF000000" Canvas.Top="6" Data="F1 M0,0 L6,0 L6,7 L0,7 L0,0 Z " />
|
297
|
+
</Canvas>
|
298
|
+
|
299
|
+
|
300
|
+
<Canvas x:Name="PlayButton" Width="17" Height="20">
|
301
|
+
<Rectangle x:Name="PlayShadow" Width="17" Height="1" Canvas.Top="19" Fill="#55000000"/>
|
302
|
+
<Path x:Name="PlayStroke" Width="17" Height="19" Canvas.Left="0" Canvas.Top="0" Data="F0 M 0,0 L17,0 L17,19 L0,19 L0,0 M1,1 L16,1 L16,18 L1,18 L1,1 Z ">
|
303
|
+
<Path.Fill>
|
304
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
305
|
+
<LinearGradientBrush.GradientStops>
|
306
|
+
<GradientStop Color="#C0000000" Offset="0"/>
|
307
|
+
<GradientStop Color="#C0FFFFFF" Offset="1"/>
|
308
|
+
</LinearGradientBrush.GradientStops>
|
309
|
+
</LinearGradientBrush>
|
310
|
+
</Path.Fill>
|
311
|
+
</Path>
|
312
|
+
<Rectangle x:Name="PlayFill" Width="15" Height="17" Canvas.Left="1" Canvas.Top="1">
|
313
|
+
<Rectangle.Fill>
|
314
|
+
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
|
315
|
+
<LinearGradientBrush.GradientStops>
|
316
|
+
<GradientStop Color="#40000000" Offset="0"/>
|
317
|
+
<GradientStop Color="#40FFFFFF" Offset="1"/>
|
318
|
+
</LinearGradientBrush.GradientStops>
|
319
|
+
</LinearGradientBrush>
|
320
|
+
</Rectangle.Fill>
|
321
|
+
</Rectangle>
|
322
|
+
<Path x:Name="PlayOffSymbol" Width="5" Height="7" Canvas.Left="6" Fill="#FF000000" Canvas.Top="6" Visibility="Collapsed" Data="F1 M0,0 L2,0 L2,7 L0,7 L0,0 M3,0 L5,0 L5,7 L3,7 L3,0 Z " />
|
323
|
+
<Path x:Name="PlaySymbol" Width="6" Height="7" Canvas.Left="6" Fill="#FF000000" Canvas.Top="6" Data="F1 M0,0 L1,0 L1,1 L3,1 L3,2 L5,2 L5,3 L6,3 L6,4 L5,4 L5,5 L3,5 L3,6 L1,6 L1,7 L0,7 L0,0 Z" />
|
324
|
+
</Canvas>
|
325
|
+
|
326
|
+
|
327
|
+
</Canvas>
|
328
|
+
|
329
|
+
|
330
|
+
</Canvas>
|
data/install.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = %q{silverlight_player_helper}
|
3
|
+
s.version = "1.0.1"
|
4
|
+
|
5
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
+
s.authors = ["Bagwan Pankaj"]
|
7
|
+
s.date = %q{2010-05-05}
|
8
|
+
s.email = %q{bagwanpankaj@gmail.com}
|
9
|
+
s.extra_rdoc_files = [
|
10
|
+
"MIT-LICENSE",
|
11
|
+
"README.textile"
|
12
|
+
]
|
13
|
+
s.files = [
|
14
|
+
"Rakefile",
|
15
|
+
"MIT-LICENSE",
|
16
|
+
"README.textile",
|
17
|
+
"silverlight_player_helper.gemspec",
|
18
|
+
"install.rb",
|
19
|
+
"uninstall.rb",
|
20
|
+
"assets/javascripts/silverlight.js",
|
21
|
+
"assets/javascripts/wmvplayer.js",
|
22
|
+
"assets/others/preview.jpg",
|
23
|
+
"assets/others/readme.html",
|
24
|
+
"assets/others/video.wmv",
|
25
|
+
"assets/others/wmvplayer.xaml",
|
26
|
+
"tasks/silverlight_player_helper_tasks.rake",
|
27
|
+
"lib/silverlight_player_helper.rb",
|
28
|
+
"test/silverlight_player_helper_test.rb",
|
29
|
+
"test/test_helper.rb"
|
30
|
+
]
|
31
|
+
s.homepage = %q{http://blog.railsjaipur.in}
|
32
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
33
|
+
s.require_paths = ["lib"]
|
34
|
+
s.rubygems_version = %q{1.3.5}
|
35
|
+
s.description = %q{Provide view helper for JW SIlverlight player}
|
36
|
+
s.summary = %q{JW SIlverlight player Helper}
|
37
|
+
s.test_files = [
|
38
|
+
"test/silverlight_player_helper_test.rb",
|
39
|
+
"test/test_helper.rb"
|
40
|
+
]
|
41
|
+
end
|