0

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

首先,我尝试MediaPlayerLauncher像这样使用:

MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher {
    Media = filename,
    Controls = MediaPlaybackControls.Pause,
    Orientation = MediaPlayerOrientation.Portrait,
    Location = MediaLocationType.None
};
mediaPlayerLauncher.Show();

filename在这种情况下是一个以 . 开头的 URL https://

使用 Fiddler 监控流量,我注意到https://infilename正在更改为http://.

接下来我尝试使用以下方法打开相同的 URL WebBrowserTask

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

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

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

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

4

1 回答 1

0

在 Internet 上为 MediaLuncher 指点位置是个坏主意。它会冻结 UI 线程,并且您的应用程序不会响应。尝试首先将音频下载为流,然后播放。使用WebClient打开一个流。HTTPS可以在 WP7 中打开,所以这应该不是问题。

于 2012-05-08T17:04:48.793 回答