我正在尝试让音频在应用程序之外工作(我正在使用HTML5,Javascript方法)在Windows 8中,所以当你关闭应用程序时声音继续工作,从我在这里研究的和在其他网站上我相信这是在Windows 8'背景音频中调用的,我已经按照Microsoft Developer网站上的所有教程,并在应用程序清单中声明了背景音频:
<Extension Category="windows.backgroundTasks" StartPage="default.html">
<BackgroundTasks>
<Task Type="audio" />
<Task Type="controlChannel" />
</BackgroundTasks>
</Extension>
并且我已经将msAudioCategory =“BackgroundCapableMedia”controls =“controls”添加到我的HTML5音频标记中,如下所示:
<audio id="playback" msAudioCategory="BackgroundCapableMedia" controls="controls">
</audio>
并且我还将此添加到我的default.js文件中,这是非常需要的,虽然我不确定这是什么
// Declare a variable that you will use as an instance of an object
var mediaControls;
// Assign the button object to mediaControls
mediaControls = Windows.Media.MediaControl;
// Add an event listener for the Play, Pause Play/Pause toggle button
mediaControls.addEventListener("playpausetogglepressed", playpausetoggle, false);
mediaControls.addEventListener("playpressed", playbutton, false);
mediaControls.addEventListener("pausepressed", pausebutton, false);
// The event handler for the play/pause button
function playpausetoggle() {
if (mediaControls.isPlaying === true) {
document.getElementById("playback").pause();
} else {
document.getElementById("playback").play();
}
}
// The event handler for the pause button
function pausebutton() {
document.getElementById("playback").pause();
}
// The event handler for the play button
function playbutton() {
document.getElementById("playback").play();
}
我也尝试在最后一部分更改ID以获得一个哈希标记,但是当我按下开始按钮返回主页音频停止时,我做错了什么?
由于
答案 0 :(得分:4)
我相信你还需要处理“停止”事件:
mediaControls.addEventListener("stoppressed", stop, false);
function stop() {
// Handle the stop event.
document.getElementById("playback").pause();
document.getElementById("playback").currentTime = 0;
}
在Windows 8 JavaScript应用中播放背景音频的三个步骤是:
msAudioCategory="BackgroundCapableMedia"
。你这样做了。有关详细信息,请参阅2011 Build会议中的Your Metro style app, video and audio, part 2。背景音频从视频开始约31分钟,20秒开始,持续约10分钟。请注意,此视频是从2011年9月开始的,涵盖了Windows 8的开发人员预览版。这些概念仍适用于Windows 8和Windows RT的发布版本,但名称空间和属性名称在某些地方有所不同。