我阅读了有关背景音频的 msdn 概述并查看了示例应用程序,但我对消息和可以通过它们交换的数据有点困惑。
ValueSet messageDictionary = new ValueSet();
messageDictionary.Add("key", "value");
BackgroundMediaPlayer.SendMessageToBackground(messageDictionary);
新引入的带有 KeyValuePairs(string, object) 的对象 ValueSet 必须用于前台和后台任务之间的通信。
我想将自定义类的实例(假设包含媒体库的艺术家、专辑、文件路径等的音频文件)发送到后台任务。不幸的是,这是不可能的(=>异常,不支持类型) - 似乎只允许原始值。
当然,一种可能性是序列化数据。有谁知道更简单的方法,或者微软推荐的方法?
====================================
更新:
唯一可能的方法似乎是
(i)序列化数据和通过消息发送
(ii) 将数据存储在文件中并与后台任务通信以处理它们
尽管如此,我将不胜感激任何关于这个主题的建议:-)