WPF MediaElement實現(xiàn)音樂功能增加
作者:佚名
WPF MediaElement作為一個WPF中的類,是初學(xué)者必須要掌握的一個基礎(chǔ)知識。在學(xué)習(xí)的過程中,我們可以知道,這個類可以幫助我們實現(xiàn)音樂的添加。
當(dāng)我們在實際開發(fā)中,要想在程序中添加音樂的話,可以使用一個叫做WPF MediaElement的類。那么具體的使用方法又是怎樣的呢?#t#
一個朋友問了我個問題,說怎么在wpf程序中增加音樂.搜索了下msdn看到了個WPF MediaElement.
把用法總結(jié)下貼出來.
WPF MediaElement是一個播放audio和video的類.
前臺加入以下代碼:
- < StackPanel Background="Black">
- < MediaElement Source="numbers.
wmv" Name="myMediaElement" - Width="450" Height="250"
LoadedBehavior="Manual"
UnloadedBehavior="Stop" Stretch="Fill" - MediaOpened="Element_MediaOpened"
MediaEnded="Element_MediaEnded"/> - < StackPanel HorizontalAlignment=
"Center" Width="450"
Orientation="Horizontal"> - < !-- 播放按鈕. -->
- < Image Source="3D_menu_07.png"
MouseDown="OnMouseDownPlayMedia"
Margin="5" /> - < !-- 暫停按鈕. -->
- < Image Source="3D_menu_09_2.png"
MouseDown="OnMouseDownPauseMedia"
Margin="5" /> - < !-- 停止按鈕. -->
- < Image Source="list4_01.png"
MouseDown="OnMouseDownStopMedia"
Margin="5" /> - < !-- 音量設(shè)置. -->
- < TextBlock Foreground="White"
VerticalAlignment="Center"
Margin="5" >Volume< /TextBlock> - < Slider Name="volumeSlider"
VerticalAlignment="Center"
ValueChanged="ChangeMediaVolume" - Minimum="0" Maximum="1" Value="0.5"
Width="70"/> - < !-- 播放速度設(shè)置. -->
- < TextBlock Foreground="White"
Margin="5" VerticalAlignment=
"Center">Speed< /TextBlock> - < Slider Name="speedRatioSlider"
VerticalAlignment="Center"
ValueChanged="ChangeMediaSpeedRatio" - Value="1" Width="70" />
- < !-- 播放進(jìn)度. -->
- < TextBlock Foreground="White"
Margin="5" VerticalAlignment=
"Center">Seek To< /TextBlock> - < Slider Name="timelineSlider"
Margin="5" ValueChanged=
"SeekToMediaPosition" Width="70"/> - < /StackPanel>
- < /StackPanel>
后臺加入以下WPF MediaElement代碼:
- void OnMouseDownPlayMedia
(object sender, MouseButton
EventArgs args)- ...{
- myMediaElement.Play();
//播放加載好的視頻文件.- InitializePropertyValues();
- }
- void OnMouseDownPauseMedia
(object sender, MouseButton
EventArgs args)- ...{
- myMediaElement.Pause();//暫停播放
- }
- // Stop the media.
- void OnMouseDownStopMedia
(object sender, MouseButton
EventArgs args)- ...{
- myMediaElement.Stop();
//停止播放,再次播放會從頭開始- }
- private void ChangeMediaVolume
(object sender, RoutedProperty
ChangedEventArgs< double> args)- ...{
- myMediaElement.Volume =
(double)volumeSlider.Value;//更改音量- }
- private void ChangeMediaSpeed
Ratio(object sender,
RoutedPropertyChangedEventArgs
< double> args)- ...{
- myMediaElement.SpeedRatio =
(double)speedRatioSlider.Value;
//更改播放速度- }
- //播放開始調(diào)用的事件
- private void Element_MediaOpened
(object sender, EventArgs e)- ...{
- //設(shè)置播放進(jìn)度條的***值
- timelineSlider.Maximum =
myMediaElement.NaturalDuration.
TimeSpan.TotalMilliseconds;- }
- //播放結(jié)束調(diào)用事件
- private void Element_MediaEnded
(object sender, EventArgs e)- ...{
- myMediaElement.Stop();
- }
- //播放進(jìn)度
- private void SeekToMediaPosition
(object sender, RoutedProperty
ChangedEventArgs< double> args)- ...{
- int SliderValue = (int)timeline
Slider.Value;- TimeSpan ts = new TimeSpan
(0, 0, 0, 0, SliderValue);- myMediaElement.Position = ts;
//這里跳轉(zhuǎn)到播放的哪個地方- }
- //點擊開始時設(shè)置播放的音量和播放速度
- void InitializePropertyValues()
- ...{
- myMediaElement.Volume =
(double)volumeSlider.Value;- myMediaElement.SpeedRatio =
(double)speedRatioSlider.Value;- }
以上就是WPF MediaElement的相關(guān)介紹。
責(zé)任編輯:曹凱
來源:
CSDN