http://images.24city.com/jimmy/player/default.html
布局思路:
Grid做为最外层容器,分上中下三行
第一行为视频播放窗口,同时单击视频时"暂停"遮罩层也放在这一行,只不过默认不显示而已
第二行为进度条显示区,为了方便布局,在这一行用StackPanel作子容器横向放置了二个控件(进度条和时间显示)
第三行为其它的控制按钮区,也是用StackPanel横向放置其它控件
实现的功能:
1.单击视频,暂停播放,再次单击则继续播放,原则就是利用鼠标单击事件控制Canvas的显示/隐藏以及调用MediaElement的Play(),Pause()方法
2.进度条与播放时间的同步,这里用到了Timer控件,每隔一定时间重新设置进度条的值
3.播放列表采用json字符串解析后绑定实现,同时选择列表的相关视频后,马上播放选择的视频
4.全屏功能
5.静音功能(其实还可以方便左右声道功能,只要不知道界面上怎么放,所以这一块功能没加上去)
6.缓冲以及加载进度的百分比进度显示
7.播放时,预先加载下一段视频(这一块好象效果不明显,主要是对silverlight的缓冲机制不清楚,期待大家共同探讨改进)
另:本示例中用的视频全部为mp4格式的h.264视频
其它不清楚的地方,基本上代码中都有注释
xaml代码:
1
<UserControl x:Class="Test.MainPage"
2
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5
mc:Ignorable="d">
6
<Grid x:Name="LayoutRoot" ShowGridLines="False" >
7![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
<!--Grid布局:分成三行,第一行放视频窗口,第二行为进度条,第三行为其它控制按钮-->
9
<Grid.ColumnDefinitions>
10
<ColumnDefinition Width="*"></ColumnDefinition>
11
</Grid.ColumnDefinitions>
12![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
<Grid.RowDefinitions>
14
<RowDefinition Height="*"></RowDefinition>
15
<RowDefinition Height="22"></RowDefinition>
16
<RowDefinition Height="25"></RowDefinition>
17
</Grid.RowDefinitions>
18![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
<!--视频播放控件-->
21
<MediaElement x:Name="media" Source="" Grid.Row="0" Grid.Column="0" CurrentStateChanged="Media_State_Changed" MediaEnded="media_MediaEnded" Cursor="Hand" MouseLeftButtonDown="media_MouseLeftButtonDown" BufferingProgressChanged="media_BufferingProgressChanged" DownloadProgressChanged="media_DownloadProgressChanged"></MediaElement>
22![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
<!--这里用一个Canvas来实现暂停时的遮盖效果-->
24
<Canvas Background="#AAFAEBD7" Grid.Row="0" Grid.Column="0" Cursor="Hand" x:Name="canvas_Pause" MouseLeftButtonDown="Canvas_MouseLeftButtonDown" >
25
<Ellipse Height="200" Width="200" Stroke="AliceBlue" StrokeThickness="10" Canvas.Left="140" Canvas.Top="80"></Ellipse>
26
<Path Stretch="Fill" Stroke="AliceBlue" StrokeThickness="10" Height="98" Width="10" UseLayoutRounding="False" Canvas.Left="203" Canvas.Top="131" Data="M208,136 L208,224"/>
27
<Path Stretch="Fill" Stroke="AliceBlue" StrokeThickness="10" Height="98" Width="10" UseLayoutRounding="False" Canvas.Left="263" Canvas.Top="131" Data="M208,136 L208,224"/>
28![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
<TextBlock Canvas.Left="104" Canvas.Top="296" Foreground="White" >Made by 菩提树下的杨过(http://yjmyzz.cnblogs.com/)</TextBlock>
30
</Canvas>
31
32
<MediaElement x:Name="mediaBuffer" Width="0" Grid.Column="0" Grid.Row="0" BufferingTime="0:0:10" IsMuted="True" AutoPlay="True" ></MediaElement>
33![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
34
<!--第二行用一个StackPanel横向放了二个子控件,用于显示进度条和当前播放时间-->
35
<StackPanel Grid.Column="0" Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center" >
36
<Slider Height="20" Width="370" x:Name="sliderProgress" ValueChanged="sliderProgress_ValueChanged" Cursor="Hand" ></Slider>
37
<TextBlock Text="00:00:00/00:00:00" Width="110" x:Name="txtTime"/>
38
</StackPanel>
39![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
40
<!--第三行同样用StackPanel横向放置其它控制按钮-->
41
<StackPanel Grid.Column="0" Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" >
42
<Button Click="PlayMedia" Content="||" Width="25" Height="25" x:Name="btnPlay" Cursor="Hand" />
43
<Button Click="StopMedia" Content="■" Width="25" Height="25" x:Name="btnStop" Cursor="Hand"/>
44
<TextBlock x:Name="txtProgress" FontSize="12" Width="90" Text="缓冲中
100%" Height="25" TextAlignment="Center" Margin="3,0" Padding="0,6,0,0" ></TextBlock>
45
<ComboBox x:Name="cboList" SelectionChanged="cboList_SelectionChanged" Height="25" Width="232">
46
47
</ComboBox>
48
<Button Content="静" Width="25" Height="25" Margin="3,0" x:Name="btnVoice" Click="btnVoice_Click" Cursor="Hand"></Button>
49
<Slider Height="25" Width="50" x:Name="sliderVoice" Maximum="1" Minimum="0" ValueChanged="sliderVoice_ValueChanged" Value="0.5" Cursor="Hand" ></Slider>
50
<Button Content="全" Width="20" Height="25" Cursor="Hand" x:Name="btnFull" Click="btnFull_Click"></Button>
51
</StackPanel>
52![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
53
</Grid>
54
</UserControl>
55![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/dot.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
后端cs代码:
1
using System;
2
using System.Collections.Generic;
3
using System.Json;
4
using System.Windows;
5
using System.Windows.Controls;
6
using System.Windows.Input;
7
using System.Windows.Interop;
8
using System.Windows.Threading;
9![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
namespace Test
11
{
12![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
public partial class MainPage : UserControl
15
{
16
private DispatcherTimer _timerPlay;
17![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
//实际应用中,以下字符串可通过wcf调用获得
19
private string _medialist = "[{src:'http://task.24city.com/video/01.mp4',name:'苹果王手机第1段'},{src:'http://task.24city.com/video/02.mp4',name:'苹果王手机第2段'},{src:'http://task.24city.com/video/03.mp4',name:'苹果王手机第3段'},{src:'http://task.24city.com/video/04.mp4',name:'蔡依林-柠檬草的味道'},{src:'http://task.24city.com/video/05.mp4',name:'我也不知道是啥'},{src:'http://task.24city.com/video/06.mp4',name:'游戏宣传片段'}]";
20![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
List<MediaItem> _listMedia = null;
22![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
int _currentIndex = -1;//正在播放的元素索引
24![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
public MainPage()
27
{
28
InitializeComponent();
29![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
//解析Json
31
JsonValue _jsValue = JsonArray.Parse(_medialist);
32![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
if (_jsValue.Count > 0)
34
{
35
_listMedia = new List<MediaItem>(_jsValue.Count);
36![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
for (int i = 0; i < _jsValue.Count; i++)
38
{
39
_listMedia.Add(new MediaItem() { src = _jsValue[i]["src"], name = _jsValue[i]["name"] });
40
}
41![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
_currentIndex = 0;//默认从第一个开始播放
43
media.Source = new Uri(_listMedia[_currentIndex].src);
44![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
cboList.ItemsSource = _listMedia;
46
cboList.DisplayMemberPath = "name";
47
cboList.SelectedIndex = _currentIndex;
48![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
this._timerPlay = new DispatcherTimer();
51
this._timerPlay.Interval = new TimeSpan(0, 0, 0, 0, 100);
52
this._timerPlay.Tick += new EventHandler(timer_Tick);
53
this._timerPlay.Start();
54
}
55![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
App.Current.Host.Content.FullScreenChanged += new EventHandler(Content_FullScreenChanged);
58![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
}
61![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
/// <summary>
63
/// timer触发时,设置进度条与播放时间同步
64
/// </summary>
65
/// <param name="sender"></param>
66
/// <param name="e"></param>
67
void timer_Tick(object sender, EventArgs e)
68
{
69
this.sliderProgress.Maximum = this.media.NaturalDuration.TimeSpan.TotalSeconds;
70![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
this.sliderProgress.ValueChanged -= new RoutedPropertyChangedEventHandler<double>(sliderProgress_ValueChanged);
72![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
this.sliderProgress.Value = this.media.Position.TotalSeconds;
74![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
this.sliderProgress.ValueChanged += new RoutedPropertyChangedEventHandler<double>(sliderProgress_ValueChanged);
76![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
this.txtTime.Text = media.Position.Hours.ToString().PadLeft(2, '0') + ":" + media.Position.Minutes.ToString().PadLeft(2, '0') + ":" + media.Position.Seconds.ToString().PadLeft(2, '0') + "/" + media.NaturalDuration.TimeSpan.Hours.ToString().PadLeft(2, '0') + ":" + media.NaturalDuration.TimeSpan.Minutes.ToString().PadLeft(2, '0') + ":" + media.NaturalDuration.TimeSpan.Seconds.ToString().PadLeft(2, '0');
78
}
79![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
/// <summary>
81
/// 显示播放状态
82
/// </summary>
83
/// <param name="sender"></param>
84
/// <param name="e"></param>
85
private void Media_State_Changed(object sender, EventArgs e)
86
{
87
88
if (_currentIndex >= 0)
89
{
90
MediaItem _currentMedia = _listMedia[_currentIndex];
91![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
switch (media.CurrentState)
93
{
94
case System.Windows.Media.MediaElementState.AcquiringLicense:
95
txtProgress.Text = "加载许可证
";
96
97
break;
98
case System.Windows.Media.MediaElementState.Buffering:
99
txtProgress.Text = "缓冲中
";
100
break;
101
case System.Windows.Media.MediaElementState.Closed:
102
txtProgress.Text = "已关闭";
103
break;
104
case System.Windows.Media.MediaElementState.Individualizing:
105
txtProgress.Text = "加载个性化设置
";
106
break;
107
case System.Windows.Media.MediaElementState.Opening:
108
txtProgress.Text = "加载中
";
109
break;
110
case System.Windows.Media.MediaElementState.Paused:
111
txtProgress.Text = "已暂停";
112
break;
113
case System.Windows.Media.MediaElementState.Playing:
114
txtProgress.Text = "正在播放";
115![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
116
//预选缓冲下一段视频(不过在实际测试中,感觉这么干没啥明显效果,欢迎大家共同探讨如何提前缓冲下一段视频)
117
if (_currentIndex + 1 > _listMedia.Count - 1)
118
{
119
mediaBuffer.Source = new Uri(_listMedia[0].src);
120
}
121
else
122
{
123
mediaBuffer.Source = new Uri(_listMedia[_currentIndex + 1].src);
124
}
125
126
break;
127
case System.Windows.Media.MediaElementState.Stopped:
128
txtProgress.Text = "已停止";
129
break;
130
default:
131
break;
132
}
133
}
134![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
135
}
136![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
138
/// <summary>
139
/// 停止播放
140
/// </summary>
141
/// <param name="sender"></param>
142
/// <param name="e"></param>
143
private void StopMedia(object sender, System.Windows.RoutedEventArgs e)
144
{
145
media.Stop();
146
btnPlay.Content = ">";
147![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
}
149![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
151![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
152
/// <summary>
153
/// 播放/暂停
154
/// </summary>
155
/// <param name="sender"></param>
156
/// <param name="e"></param>
157
private void PlayMedia(object sender, System.Windows.RoutedEventArgs e)
158
{
159![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
if (media.CurrentState == System.Windows.Media.MediaElementState.Paused || media.CurrentState == System.Windows.Media.MediaElementState.Stopped)
161
{
162
media.Play();
163
btnPlay.Content = "||";
164
canvas_Pause.Visibility = Visibility.Collapsed;
165
166
}
167
else
168
{
169
media.Pause();
170
btnPlay.Content = ">";
171
canvas_Pause.Visibility = Visibility.Visible;
172
}
173
174
}
175![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
176
/// <summary>
177
/// 一段播放完毕后,自动跳到下一段
178
/// </summary>
179
/// <param name="sender"></param>
180
/// <param name="e"></param>
181
private void media_MediaEnded(object sender, System.Windows.RoutedEventArgs e)
182
{
183
_currentIndex++;
184![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
185
if (_currentIndex > _listMedia.Count - 1)
186
{
187
_currentIndex = 0;
188
}
189![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
190
media.Source = new Uri(_listMedia[_currentIndex].src);
191![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
192
cboList.SelectedIndex = _currentIndex;
193
}
194![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
195
/// <summary>
196
/// 下拉列表改变时,播放相关片段
197
/// </summary>
198
/// <param name="sender"></param>
199
/// <param name="e"></param>
200
private void cboList_SelectionChanged(object sender, SelectionChangedEventArgs e)
201
{
202
_currentIndex = cboList.SelectedIndex;
203
if (_currentIndex > _listMedia.Count - 1)
204
{
205
_currentIndex = 0;
206
}
207![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
208
media.Source = new Uri(_listMedia[_currentIndex].src);
209
canvas_Pause.Visibility = System.Windows.Visibility.Collapsed;
210
media.Position = new TimeSpan(0,0,0,0,0);
211
sliderProgress.Value = 0;
212
}
213![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
214
/// <summary>
215
/// 暂时Canvas点击后,隐藏Canvas,同时继续播放
216
/// </summary>
217
/// <param name="sender"></param>
218
/// <param name="e"></param>
219
private void Canvas_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
220
{
221
canvas_Pause.Visibility = System.Windows.Visibility.Collapsed;
222
media.Play();
223
}
224![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
225
/// <summary>
226
/// 视频画面单击时,暂时播放
227
/// </summary>
228
/// <param name="sender"></param>
229
/// <param name="e"></param>
230
private void media_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
231
{
232
canvas_Pause.Visibility = System.Windows.Visibility.Visible;
233
media.Pause();
234
}
235![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
236
/// <summary>
237
/// 进度条拖动时,跳到相关位置
238
/// </summary>
239
/// <param name="sender"></param>
240
/// <param name="e"></param>
241
private void sliderProgress_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<double> e)
242
{
243
this.media.Position = new TimeSpan((long)(e.NewValue * 1000 * 1000 * 10));
244
}
245![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
246![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
247
//private void media_BufferingProgressChanged(object sender, RoutedEventHandler e)
248
//{
249
// txtTime.Text = "缓冲中
" + media.BufferingProgress.ToString("F0") + "%";
250
//}
251![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
252
/// <summary>
253
/// 静音按钮的实现
254
/// </summary>
255
/// <param name="sender"></param>
256
/// <param name="e"></param>
257
private void btnVoice_Click(object sender, RoutedEventArgs e)
258
{
259
if (media.IsMuted)
260
{
261
media.IsMuted = false;
262
this.btnVoice.Content = "静";
263
sliderVoice.IsEnabled = true;
264
}
265
else
266
{
267
media.IsMuted = true;
268
this.btnVoice.Content = "音";
269
sliderVoice.IsEnabled = false;
270
}
271![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
272
}
273![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
274
/// <summary>
275
/// 调整音量大小
276
/// </summary>
277
/// <param name="sender"></param>
278
/// <param name="e"></param>
279
private void sliderVoice_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
280
{
281
if (sliderVoice == null)
282
{
283
return;
284
}
285
media.Volume = sliderVoice.Value;
286
}
287![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
288
private void btnFull_Click(object sender, RoutedEventArgs e)
289
{
290
Content contentObj = App.Current.Host.Content;
291
contentObj.IsFullScreen = !contentObj.IsFullScreen;
292![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
293
294
}
295![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
296![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
297![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
298
private void Content_FullScreenChanged(object sender, EventArgs e)
299
{
300
Content contentObj = App.Current.Host.Content;
301
302
if (contentObj.IsFullScreen)
303
{
304
btnFull.Content = "退";
305
}
306
else
307
{
308
btnFull.Content = "全";
309
}
310
}
311![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
312
/// <summary>
313
/// 显示缓冲进度
314
/// </summary>
315
/// <param name="sender"></param>
316
/// <param name="e"></param>
317
private void media_BufferingProgressChanged(object sender, RoutedEventArgs e)
318
{
319
this.txtProgress.Text = "缓冲中
" + (media.BufferingProgress*100).ToString("F0") + "%";
320
canvas_Pause.Visibility = Visibility.Visible;
321
if (media.BufferingProgress >= 1.0)
322
{
323
canvas_Pause.Visibility = Visibility.Collapsed;
324
switch (media.CurrentState)
325
{
326
case System.Windows.Media.MediaElementState.Buffering:
327
txtProgress.Text = "缓冲中
";
328
break;
329
case System.Windows.Media.MediaElementState.Closed:
330
txtProgress.Text = "已关闭";
331
break;
332
case System.Windows.Media.MediaElementState.Paused:
333
txtProgress.Text = "已暂停";
334
break;
335
case System.Windows.Media.MediaElementState.Playing:
336
txtProgress.Text = "正在播放";
337
break;
338
case System.Windows.Media.MediaElementState.Stopped:
339
txtProgress.Text = "已停止";
340
break;
341
default:
342
txtProgress.Text = "就绪";
343
break;
344
}
345
}
346
}
347![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
348
/// <summary>
349
/// 显示加载进度
350
/// </summary>
351
/// <param name="sender"></param>
352
/// <param name="e"></param>
353
private void media_DownloadProgressChanged(object sender, RoutedEventArgs e)
354
{
355
txtProgress.Text = "加载中
" + (media.DownloadProgress * 100).ToString("F0") + "%";
356
if (media.DownloadProgress >= 1)
357
{
358
switch (media.CurrentState)
359
{
360
case System.Windows.Media.MediaElementState.Buffering:
361
txtProgress.Text = "缓冲中
";
362
break;
363
case System.Windows.Media.MediaElementState.Closed:
364
txtProgress.Text = "已关闭";
365
break;
366
case System.Windows.Media.MediaElementState.Paused:
367
txtProgress.Text = "已暂停";
368
break;
369
case System.Windows.Media.MediaElementState.Playing:
370
txtProgress.Text = "正在播放";
371
break;
372
case System.Windows.Media.MediaElementState.Stopped:
373
txtProgress.Text = "已停止";
374
break;
375
default:
376
txtProgress.Text = "就绪";
377
break;
378
}
379
}
380
}
381![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
382
383![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
384![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
385
}
386![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
387![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
388
/// <summary>
389
/// 媒体元素Item自定义类
390
/// </summary>
391
public class MediaItem
392
{
393
public string src { set; get; }
394
public string name { set; get; }
395
}
396
}
397![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
106
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
107
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
108
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
109
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
110
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
111
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
114
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
115
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
116
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
117
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
118
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
119
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
121
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
122
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
123
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
124
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
125
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
127
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
128
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
129
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
131
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
132
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
133
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
134
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
135
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
136
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
138
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
139
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
140
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
143
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
144
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
145
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
146
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
147
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
149
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
151
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
152
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
153
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
155
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
156
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
157
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
158
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
159
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
161
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
162
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
163
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
165
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
166
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
167
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
168
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
169
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
170
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
171
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
172
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
173
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
174
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
175
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
176
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
177
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
178
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
179
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
180
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
181
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
182
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
183
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
184
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
185
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
186
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
187
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
188
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
189
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
190
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
191
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
192
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
193
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
194
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
195
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
196
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
197
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
198
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
199
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
200
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
201
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
202
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
203
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
204
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
205
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
206
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
207
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
208
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
209
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
210
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
211
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
212
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
213
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
214
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
215
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
216
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
217
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
218
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
219
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
220
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
221
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
222
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
223
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
224
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
225
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
226
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
227
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
228
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
229
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
230
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
231
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
232
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
233
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
234
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
235
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
236
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
237
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
238
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
239
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
240
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
241
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
242
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
243
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
244
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
245
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
246
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
247
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
248
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
249
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
250
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
251
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
252
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
253
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
254
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
255
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
256
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
257
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
258
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
259
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
260
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
261
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
262
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
263
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
264
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
265
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
266
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
267
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
268
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
269
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
270
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
271
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
272
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
273
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
274
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
275
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
276
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
277
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
278
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
279
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
280
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
281
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
282
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
283
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
284
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
285
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
286
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
287
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
288
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
289
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
290
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
291
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
292
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
293
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
294
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
295
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
296
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
297
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
298
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
299
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
300
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
301
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
302
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
303
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
304
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
305
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
306
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
307
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
308
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
309
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
310
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
311
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
312
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
313
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
314
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
315
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
316
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
317
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
318
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
319
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
320
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
321
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
322
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
323
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
324
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
325
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
326
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
327
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
328
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
329
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
330
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
331
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
332
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
333
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
334
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
335
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
336
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
337
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
338
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
339
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
340
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
341
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
342
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
343
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
344
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
345
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
346
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
347
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
348
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
349
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
350
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
351
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
352
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
353
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
354
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
355
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
356
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
357
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
358
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
359
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
360
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
361
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
362
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
363
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
364
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
365
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
366
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
367
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
368
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
369
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
370
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
371
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
372
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
373
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
374
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
375
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
376
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
377
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
378
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
379
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
380
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
381
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
382
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
383
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
384
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
385
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
386
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
387
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
388
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
389
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
390
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
391
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
392
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
393
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
394
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
395
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
396
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
397
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)