在Windows Phone 8.1上播放HLS(m3u8播放列表)

时间:2014-11-18 23:08:17

标签: c# windows-phone-8 hls

我和朋友试图让Windows Phone 8.1上的视频播放器播放m3u8流,但我们无法取得成功。

我们尝试了什么:

我们尝试过playerframework.codeplex.com(Microsoft Player Framework),但无法加载该文件。

我们也尝试使用Windows Phone流媒体(https://phonesm.codeplex.com/),但是我们无法使用这个,因为我们无法理解他们如何实际加载文件?

以前有没有人使用过这种文件?据我所知,Windows Phone 8.1本身不支持m3u8

3 个答案:

答案 0 :(得分:4)

下载播放器框架,使用以下DLL:

DLL's to consume

将播放器添加到您的xaml:

xmlns:mmppf="using:Microsoft.PlayerFramework"
xmlns:smmedia="using:SM.Media.MediaPlayer"

 <mmppf:MediaPlayer IsFullScreenVisible="True" IsFullScreenEnabled="True" IsFullScreen="False"  CurrentStateChanged="mPlayer_CurrentStateChanged" x:Name="mPlayer" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsFastForwardEnabled="False" IsInfoEnabled="False" IsLive="True" IsMoreEnabled="False" IsRewindEnabled="False" IsRightTapEnabled="False" IsScrubbingEnabled="False" IsSeekEnabled="False" IsSkipBackEnabled="False" IsSkipAheadEnabled="False" IsReplayEnabled="False" IsTimelineVisible="False" IsTimeElapsedVisible="False" IsTimeRemainingVisible="False" RequestedTheme="Dark">
            <mmppf:MediaPlayer.Plugins>
                <smmedia:StreamingMediaPlugin />
            </mmppf:MediaPlayer.Plugins>

        </mmppf:MediaPlayer>

然后设置您的流VIA代码 - 如果URL永远不会更改,则设置为XAML。

答案 1 :(得分:2)

@Mahesh Vemuri询问他是否有错误说StreamingMediaPlugin不可用或在命名空间中找不到,这是我的工作: XAML:

xmlns:PlayerFramework="using:Microsoft.PlayerFramework"


<PlayerFramework:MediaPlayer Name="player"
                    Source="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
                    AudioCategory="BackgroundCapableMedia"
                    IsAudioSelectionVisible="True">
        <PlayerFramework:MediaPlayer.Plugins>
        </PlayerFramework:MediaPlayer.Plugins>
</PlayerFramework:MediaPlayer>

在.xaml.cs文件中,您只需执行此操作:

SM.Media.MediaPlayer.StreamingMediaPlugin asd = new SM.Media.MediaPlayer.StreamingMediaPlugin();
player.Plugins.Add(asd);
player.Source = new Uri("address-to-m3u8");

它对我有用,因为“默认”方式没有。希望它也可以帮助别人。

答案 2 :(得分:0)

您可以从xaml或cs添加它们。首先添加参考。

  1. XAML

    xmlns:local="clr-namespace:Microsoft.PlayerFramework;assembly=Microsoft.PlayerFramework"
    xmlns:smmedia="clr-namespace:SM.Media.MediaPlayer;assembly=SM.Media.MediaPlayer.WP8"
    
    
    <local:MediaPlayer Name="player"
                   HorizontalContentAlignment="Stretch"
                   AutoPlay="True"
                   Volume="0.7"
                   Source="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
                   IsPlayPauseVisible="True">
        <local:MediaPlayer.Plugins>
            <smmedia:StreamingMediaPlugin />
        </local:MediaPlayer.Plugins>
    </local:MediaPlayer>
    
  2. XAML&amp; CS

    xmlns:local="clr-namespace:Microsoft.PlayerFramework;assembly=Microsoft.PlayerFramework"
    
    <local:MediaPlayer Name="player"
                   HorizontalContentAlignment="Stretch"
                   AutoPlay="True"
                   Volume="0.7"              
                   IsPlayPauseVisible="True">
    </local:MediaPlayer>
    
    
    SM.Media.MediaPlayer.StreamingMediaPlugin asd = new SM.Media.MediaPlayer.StreamingMediaPlugin();
    player.Plugins.Add(asd);
    player.Source = new Uri("http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8");