我正在开发一个使用 HTML5/JavaScript 框架的通用应用程序。在此应用程序中,我有一个带有 HTML 音频标记的页面(属性 msAudioCategory 设置为“BackgroundCapableMedia”),该页面进一步与 Windows.Media.SystemMediaTransportControls.getForCurrentView() 连接,以便在后台播放音频。我还在 Windows 和 Phone 项目上设置了声明 > 后台任务 > 音频,并将 default.html 页面设置为入口页面。
部署到 Windows(本地计算机或模拟器)按预期工作。一切都向好的方向发展。然而,部署到手机模拟器或物理手机设备会引发这个相当无用的错误:
Unexpected Error: Package could not be registered. (Exception from HRESULT: 0x80073CF6)
看不出任何明显的原因。网络搜索表明这可能是一个错误,但我也怀疑在手机上播放背景音频可能需要不同的方法。
值得注意的是,启动一个新的空白通用应用程序,添加上述声明(没有音频标签或支持代码),可以在 Windows 上部署,但在手机上会失败并出现相同的错误。有什么想法吗?
最佳答案
发现了一个相当无信息的错误试图告诉我的问题:我的入口点无效。如前所述,我已将其设置为 default.html 页面,但对于 Windows Phone 至少需要将其设置为有效的后台任务文件。在 C# 中,这是从 Windows.ApplicationModel.Background.IBackgroundTask 接口(interface)继承的东西。在 JavaScript 中,这是一个 JS 文件,看起来有点像这样:
(function () {
var backgroundTaskInstance = Windows.UI.WebUI.WebUIBackgroundTaskInstance.current;
function doWork() {
var settings = Windows.Storage.ApplicationData.current.localSettings;
var key = backgroundTaskInstance.task.taskId.toString();
settings.values[key] = "Succeeded";
close();
}
if (!canceled) {
doWork();
} else {
key = backgroundTaskInstance.task.taskId.toString();
settings.values[key] = "Canceled";
close();
}
})();
取自此处的示例:http://msdn.microsoft.com/en-us/library/windows/apps/hh977045.aspx
干杯:D
关于html - 使用背景音频时,通用应用程序 (HTML5) 部署到 Windows Phone 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25612432/