C# 流视频

C# 流视频,c#,windows-store-apps,C#,Windows Store Apps,我有一个媒体播放器实现的windows应用商店应用程序。在此应用程序中,用户将能够通过mediaplayer观看流。我将提供类似url的c代码流链接。当用户单击播放时,他们将观看流。我该怎么做?Mediaplayer代码如下: int flag = 0; private Size _previousVideoContainerSize = new Size(); private void FullscreenToggle() {

我有一个媒体播放器实现的windows应用商店应用程序。在此应用程序中,用户将能够通过mediaplayer观看流。我将提供类似url的c代码流链接。当用户单击播放时,他们将观看流。我该怎么做?Mediaplayer代码如下:

int flag = 0;
        private Size _previousVideoContainerSize = new Size();

        private void FullscreenToggle()
        {
            if (flag == 0)
            {
                TransportControlsPanel.Visibility = Visibility.Collapsed;
                _previousVideoContainerSize.Width = videoContainer.ActualWidth;
                _previousVideoContainerSize.Height = videoContainer.ActualHeight;
                videoContainer.Width = Window.Current.Bounds.Width;
                videoContainer.Height = Window.Current.Bounds.Height;
                exit.Visibility = Visibility.Visible;
                inn.Visibility = Visibility.Collapsed;
                flag = 1;
            }
            else
            {
                TransportControlsPanel.Visibility = Visibility.Visible;
                videoContainer.Width = _previousVideoContainerSize.Width;
                videoContainer.Height = _previousVideoContainerSize.Height;
                exit.Visibility = Visibility.Collapsed;
                inn.Visibility = Visibility.Visible;
            }
        }

        private void btnFullScreenToggle_Click(object sender, RoutedEventArgs e)
        {
            FullscreenToggle();
        }

        private void VideoContainer_KeyUp(object sender, KeyRoutedEventArgs e)
        {
            if (flag == 1 && e.Key == Windows.System.VirtualKey.Escape)
            {
                FullscreenToggle();
            }

            e.Handled = true;
        }

        private void btnPlay_Click(object sender, RoutedEventArgs e)
        {
            if (videoMediaElement.DefaultPlaybackRate != 1)
            {
                videoMediaElement.DefaultPlaybackRate = 1.0;
            }

            videoMediaElement.Play();
        }

        private void btnStop_Click(object sender, RoutedEventArgs e)
        {
            videoMediaElement.Stop();
        }

        private void btnVolumeDown_Click(object sender, RoutedEventArgs e)
        {
            if (videoMediaElement.IsMuted)
            {
                videoMediaElement.IsMuted = false;
            }

            if (videoMediaElement.Volume < 1)
            {
                videoMediaElement.Volume += .1;

            }
            vol.Value -= 5;
        }
        private void btnMute_Click(object sender, RoutedEventArgs e)
        {
            videoMediaElement.IsMuted = !videoMediaElement.IsMuted;
        }
        private void btnVolumeUp_Click(object sender, RoutedEventArgs e)
        {
            if (videoMediaElement.IsMuted)
            {
                videoMediaElement.IsMuted = false;
            }

            if (videoMediaElement.Volume > 0)
            {
                videoMediaElement.Volume -= .1;
            }
            vol.Value += 5;
        }
int标志=0;
私有大小_previousVideoContainerSize=新大小();
私有void FullscreenToggle()
{
如果(标志==0)
{
TransportControlsPanel.Visibility=可见性。已折叠;
_previousVideoContainerSize.Width=videoContainer.ActualWidth;
_previousVideoContainerSize.Height=videoContainer.ActualHeight;
videoContainer.Width=Window.Current.Bounds.Width;
videoContainer.Height=Window.Current.Bounds.Height;
exit.Visibility=可见性.Visibility;
inn.Visibility=Visibility.Collapsed;
flag=1;
}
其他的
{
TransportControlsPanel.Visibility=可见性.Visibility;
videoContainer.Width=\u先前的VideoContainerSize.Width;
videoContainer.Height=\u先前的VideoContainerSize.Height;
exit.Visibility=Visibility.Collapsed;
inn.Visibility=Visibility.Visible;
}
}
私有无效btnFullScreenToggle_单击(对象发送者,路由目标e)
{
全屏切换();
}
私有void VideoContainer_KeyUp(对象发送方,KeyRoutedEventArgs e)
{
if(flag==1&&e.Key==Windows.System.VirtualKey.Escape)
{
全屏切换();
}
e、 已处理=正确;
}
私有void btnPlay\u单击(对象发送方,路由目标)
{
如果(videoMediaElement.DefaultPlaybackRate!=1)
{
videoMediaElement.DefaultPlaybackRate=1.0;
}
videoMediaElement.Play();
}
私有void btnStop_单击(对象发送者,路由目标e)
{
videoMediaElement.Stop();
}
私有无效btnVolumeDown\u单击(对象发送者,路由目标e)
{
if(videoMediaElement.IsMuted)
{
videoMediaElement.ismute=false;
}
if(videoMediaElement.Volume<1)
{
videoMediaElement.Volume+=0.1;
}
体积值-=5;
}
私有无效btnMute_单击(对象发送者,路由目标e)
{
videoMediaElement.Ismute=!videoMediaElement.Ismute;
}
私有void btnVolumeUp\u单击(对象发送者,路由目标e)
{
if(videoMediaElement.IsMuted)
{
videoMediaElement.ismute=false;
}
如果(videoMediaElement.Volume>0)
{
videoMediaElement.Volume-=.1;
}
体积值+=5;
}

我的问候…

您有很多选择:

选项1:下面是一个很好的教程,介绍如何使用Smooth streaming Client SDK实现视频流:

选项2:另一种方法是使用 总之,这是一个开源、健壮的视频播放器框架,适用于Windows 8、HTML5、Silverlight、Windows Phone和其他应用程序平台

备选案文3:

总结:此示例演示如何使用适用于Windows 8的平滑流媒体客户端SDK创建Windows应用商店应用程序来播放平滑流媒体内容。在示例中,MediaElement控件用于显示媒体内容,而滑块控件用于控制进度。 这是我的建议,只要选择一个选项,你就可以开始了