【问题标题】:Windows 8 Audio playing in backgroundWindows 8 音频在后台播放
【发布时间】:2013-02-09 00:38:07
【问题描述】:

我已经阅读了微软以前的帖子和文档,但似乎无法让我的应用程序在后台运行声音。它播放 100%,但当应用程序暂停时,音乐也会停止。我添加了选择音频的“后台任务”声明,我的音频标签看起来像这样

<audio id="musicplayr" msAudioCategory="BackgroundCapableMedia" controls="controls"><source src="song.mp3"/> </audio

最后我的 javascript 包含对 MediaControls 的引用

var MediaControls = Windows.Media.MediaControl;

        // Add event listeners for the buttons
        MediaControls.addEventListener("playpressed", play, false);
        MediaControls.addEventListener("pausepressed", pause, false);
        MediaControls.addEventListener("playpausetogglepressed", playpausetoggle, false);

        // Add event listeners for the audio element
        document.getElementById("musicplayr").addEventListener("playing", playing, false);
        document.getElementById("musicplayr").addEventListener("paused", paused, false);
        document.getElementById("musicplayr").addEventListener("ended", ended, false);

在代码下面我有事件处理程序

// Define functions that will be the event handlers
function play() {
    document.getElementById("musicplayr").play();
}
function pause() {
    document.getElementById("musicplayr").pause();
}

function playpausetoggle() {
    if(MediaControls.isPlaying === true) {
        document.getElementById("musicplayr").pause();
    } else {
        document.getElementById("musicplayr").play();
    }
}

function playing() {
    Windows.Media.MediaControl.isPlaying = true;
}

function paused() {
    Windows.Media.MediaControl.isPlaying = false;
}

function ended() {
    Windows.Media.MediaControl.isPlaying = false;
}

*注意musicplayr是html5标签的引用

任何帮助表示为什么这不起作用?

【问题讨论】:

标签: javascript html windows-8 microsoft-metro windows-store-apps


【解决方案1】:

您还需要一个用于 stoppressed 事件的事件处理程序。如果没有四个处理程序中的任何一个——playpressed、pausepressed、playpausetogglepressed 和 stoppressed——将不会启用背景音频。请参阅 MSDN 论坛上的 http://social.msdn.microsoft.com/Forums/en-IN/winappswithhtml5/thread/2ca0c122-df31-401c-a444-2149dd3e8d68,其中提出了同样的问题。

.克雷格

【讨论】:

  • 你是个天才! :D 联系 MS 以在他们的文档中解决这个问题!
  • 感谢您的赞美。写一本关于 Win8 应用程序的书(Microsoft Press,一本免费的电子书)很有帮助,对于这个特殊的空间,我直接与创建该功能的工程师坐下来。 :) 文档团队总是很感激任何形式的反馈。
  • 在对的时间谈论对的人! :) 再次感谢。我的应用程序已 100% 完成并已在商店中。如果您想查看结果,请在几天内搜索 MetroTracks! :)
  • 我期待着尝试。我一直在寻找一种音乐播放器,它可以在我的 Surface 上运行并播放我所有的 mp3 都打开的 microSD 卡中的专辑。 Win8 不允许我将该卡添加到音乐库,因此内置音乐应用程序不会显示其专辑。
  • 对不起,它不是那种音乐播放器 :) 但这是最​​终链接apps.microsoft.com/windows/en-GB/app/metrotracks/…
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2015-05-27
相关资源
最近更新 更多