我有问题,它似乎像我对我的ApplicationSettings所做的更改没有更新在我的AudioPlayerAgents应用程序设置应该是相同的?!是否有可能有不同的IsolatedStorageSettings.ApplicationSettings?
我的计划是这样的:
在我在的OnNavigatedTo MainPage.xaml.cs中,我创建音频文件的两个数组
Audio[] aud = new Audio[2];
Audio[] aud1 = new Audio[2];
aud[0] = new Audio(new Uri("1.mp3", UriKind.Relative),
"Test1",
"Test1",
new Uri("Images/Covers/0000000018724345_256x256_large.jpg", UriKind.Relative));
aud[1] = new Audio(new Uri("2.mp3", UriKind.Relative),
"Test2",
"Test2",
new Uri("Images/Covers/0000000018698018_256x256_large.jpg", UriKind.Relative));
aud1[0] = new Audio(new Uri("3.mp3", UriKind.Relative),
"Test3",
"Test3",
new Uri("Images/Covers/0000000018465020_256x256_large.jpg", UriKind.Relative));
aud1[1] = new Audio(new Uri("http://traffic.libsyn.com/wpradio/WPRadio_29.mp3", UriKind.Absolute),
"Episode 29",
"Windows Phone Radio",
new Uri("Images/Covers/0000000018844939_256x256_large.jpg", UriKind.Relative));
然后我保存在此的applicationSettings阵列之一
IsolatedStorageSettings.ApplicationSettings["tracklist"] = aud;
IsolatedStorageSettings.ApplicationSettings.Save();
然后我关闭并启动BackgroundAudioPlayer。
BackgroundAudioPlayer.Instance.Close();
BackgroundAudioPlayer.Instance.Play();
在我的AudioPlayer中,我加载了以前保存的ApplicationSettings,它工作正常。
Audio[] aud;
IsolatedStorageSettings.ApplicationSettings.TryGetValue<Audio[]>("tracklist", out aud);
但是,当我以后要与其他阵列
IsolatedStorageSettings.ApplicationSettings["tracklist"] = aud1;
IsolatedStorageSettings.ApplicationSettings.Save();
更换的applicationSettings在我MainPage.xaml.cs中在我的AudioPlayer再次加载值仍然有旧值我ApplicationSettings,AudioPlayerAgent和MainPage都应该使用相同的ApplicationSettings权限?事实上,它第一次被保存并可用于AudioPlayerAgent,所以我错过了什么?
我的音频类看起来像这样
[DataContractAttribute]
public class Audio
{
[DataMember]
public Uri TrackUrl { get; set; }
[DataMember]
public string Title { get; set; }
[DataMember]
public string Artist { get; set; }
[DataMember]
public Uri CoverURL { get; set; }
public Audio(Uri trackUrl, string title, string artist, Uri coverUrl)
{
TrackUrl = trackUrl;
Title = title;
Artist = artist;
CoverURL = coverUrl;
}
}
您是否在再次保存之前尝试过执行IsolatedStorageSettings.ApplicationSettings.Clear()? – Etch
是的,当我在我的MainPage中清除时,我的MusicPlayerAgent中仍然存在旧值。如果我清除MusicPlayerAgent中的值,那么当我下次尝试阅读它时没有值。 – Philiiiiiipp
Hi Philiiiiiipp,你有没有设法解决这个问题?我也在WP8应用程序中使用它,甚至在接受答案的讨论后也没有帮助(我在解决方案中创建了第三个项目,负责与isostorage进行交互的类也没有帮助)。 – Anton