我正在将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项目。是的,背景音频项目是从主程序引用的。 link to project
为了检查我的理智,我以类似的方式创建了一个使用VS12 Express的WP7.8项目(link to project)。并从VS15端复制代码。该应用程序工作正常。
赞赏的想法 - 非常
答案 0 :(得分:1)
好吧,终于开始更多地研究这个问题了..那就是......答案......简单明了:不支持这种方式......在this link他们说
“不支持AudioPlayerAgent和AudioStreamingAgent Silverlight 8.1应用程序
AudioPlayerAgent和AudioStreamingAgent 类,支持Windows Phone 8的背景音频播放 Silverlight 8.1不支持应用程序。如果你想支持 后台音频播放,可以继续使用Windows Phone 8 应用或创建支持新背景的Windows Phone应用商店应用 音频API。“
就是这样...... :(