使用HTTPS的MediaPlayerLauncher

时间:2012-05-08 16:28:14

标签: windows-phone-7

我想从HTTPS资源打开一个音频文件。

首先,我尝试使用MediaPlayerLauncher,如下所示:

MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher {
    Media = filename,
    Controls = MediaPlaybackControls.Pause,
    Orientation = MediaPlayerOrientation.Portrait,
    Location = MediaLocationType.None
};
mediaPlayerLauncher.Show();
在这种情况下,

filename是以https://开头的网址。

使用Fiddler监控流量,我注意到https://中的filename已更改为http://

接下来,我尝试使用WebBrowserTask打开相同的网址:

WebBrowserTask webBrowser = new WebBrowserTask {
    Uri = filename
};
webBrowser.Show();

再次检查Fiddler,我注意到正在发送两个请求。首先是浏览器对filename的请求。这导致“点击打开文件”消息出现在浏览器中。点击它会打开手机的媒体播放器(MediaPlayerLauncher?),它会发送另一个请求 - 在这种情况下,https://再次更改为http://(这与首次尝试的结果相似)。

我从中获取文件的服务器仅支持HTTPS,因此当媒体播放器将文件作为HTTP请求时出现问题。

无论如何从HTTPS资源流式传输文件? Windows Phone的媒体播放器是否支持它?

1 个答案:

答案 0 :(得分:0)

指向MediaLuncher的互联网位置是一个坏主意。它将冻结UI线程,您的应用程序将无法响应。首先尝试将音频作为流下载,然后播放。使用WebClient打开一个流。 HTTPS可以在WP7中打开,因此不应该是一个问题。