我正在将一个Windows Phone 7.8应用程序从Windows 8.1 Silverlight迁移到Windows 8.1 Silverlight--最终可能迁移到Windows Phone 10。
但现在我被困在一个琐碎的不让背景音频播放器在Windows 8.1银光下工作。这可能是显而易见的事情--但经过几天的实验,我的想法已经没有了。
结果是我收到了错误消息
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项目(VS12)。并从VS15端复制代码。这个应用程序很好。
想法很受欢迎-非常感谢
发布于 2015-12-29 17:01:19
好吧,终于开始调查这个问题了..。就在那里..。答案..。简单明了:不支持这种方式。在此链接,他们说
“Silverlight 8.1应用程序不支持AudioPlayerAgent和AudioStreamingAgent Silverlight 8.1不支持支持Windows 8应用程序背景音频播放的AudioPlayerAgent和AudioStreamingAgent类。如果要支持背景音频播放,可以继续使用Windows 8应用程序或创建支持新的背景音频API的Windows应用程序。“
就这样..。:(
https://stackoverflow.com/questions/32924457
复制相似问题