0

我正在将 Windows Phone 7.8 应用程序从 Windows Phone 8.1 Silverlight 迁移到 - 最终可能迁移到 Windows Phone 10..

但现在我被困在一个琐碎的事情上,根本没有让后台音频播放器在 Windows Phone 8.1 Silverlight 中工作。这可能是显而易见的——但经过几天的实验,我的想法已经不多了。

会发生什么是我收到错误消息

System.InvalidOperationException:E_FAIL -2146233079

从播放器设置音轨时。

基本代码片段

public partial class MainPage : PhoneApplicationPage
{
    BackgroundAudioPlayer player;
    Uri _trackUri;
    Uri _albumArtUri;
    string _trackUriString = "http://podcast.cbc.ca/mp3/hourlynews.mp3";
    string _albumArtUriString = "http://www.cbc.ca/podcasting/images/promo-hourlies.jpg";
    string _trackAlbum = "Album - Podcast news";
    string _trackArtist = "Artist - CBC";
    string _trackTitle = "Track title - Hourly news";
    string _tag = "testtag";
    public MainPage()
    {
        InitializeComponent();
    }
    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        player = BackgroundAudioPlayer.Instance;
        _trackUri = new Uri(_trackUriString, UriKind.Absolute);
        _albumArtUri = new Uri(_albumArtUriString, UriKind.Absolute);
    }
    private void SetTrack_button_Click(object sender, RoutedEventArgs e)
    {
        player.Track = createTrack();       // player gets error after this statement
    }
    private AudioTrack createTrack()
    {
        return new AudioTrack(_trackUri, _trackTitle, _trackArtist, _trackAlbum, _albumArtUri, _tag, EnabledPlayerControls.All);
    }

我在 VisualStudio 2015 社区解决方案中使用内置模板创建了两个 Silverlight 8.1 项目。是的,背景音频项目是从主程序中引用的。项目链接

为了检查我的理智,我以类似的方式使用 VS12 Express创建了一个 WP7.8 项目(项目链接)。并从 VS15 端复制代码。该应用程序运行良好。

想法赞赏 - 非常

4

1 回答 1

1

好的,终于开始更多地研究这个问题..就在那里..答案..简单明了:不支持这种方式..在这个链接中他们说

“ Silverlight 8.1 应用程序不支持 AudioPlayerAgent 和 AudioStreamingAgent

Silverlight 8.1 不支持支持 Windows Phone 8 应用程序的背景音频播放的 AudioPlayerAgent 和 AudioStreamingAgent 类。如果您想支持背景音频播放,您可以继续使用 Windows Phone 8 应用或创建支持新背景音频 API 的 Windows Phone Store 应用。”

就是这样.. :(

于 2015-12-29T17:01:19.713 回答