Windows phone 7 Windows Phone让背景音乐继续播放

Windows phone 7 Windows Phone让背景音乐继续播放,windows-phone-7,windows-phone,windows-phone-8,Windows Phone 7,Windows Phone,Windows Phone 8,我的Windows Phone应用被拒绝,因为当我在应用的浏览器中播放声音时,它会停止播放现有的背景音乐(拒绝问题6.5.1) 如何更新应用程序以不停止背景音乐 我的JavaScript是这样的: var mySound = new Audio(soundpath); Sound.play(mySound); 我在Microsoft.Xna.Framework.Media中找不到处理应用程序如何处理浏览器声音的任何内容,但可能我遗漏了什么?我假设您正在构建本机Windows Phone应用程

我的Windows Phone应用被拒绝,因为当我在应用的浏览器中播放声音时,它会停止播放现有的背景音乐(拒绝问题6.5.1)

如何更新应用程序以不停止背景音乐

我的JavaScript是这样的:

var mySound = new Audio(soundpath);

Sound.play(mySound);

我在Microsoft.Xna.Framework.Media中找不到处理应用程序如何处理浏览器声音的任何内容,但可能我遗漏了什么?

我假设您正在构建本机Windows Phone应用程序(.XAP),然后使用浏览器控件显示应用程序内容。如果是这种情况,您需要在首次打开应用程序时执行检查。下面是如何解决该问题的说明

你需要将这段代码添加到你的应用程序中(我建议你每次加载/打开应用程序时都检查这段代码)。使用语句为媒体添加引用

if (Microsoft.Xna.Framework.Media.MediaPlayer.State == MediaState.Playing)
{               
    MessageBoxResult Choice;               
    Choice = MessageBox.Show("Media is currently playing, do you want to stop it?", "Stop Player", MessageBoxButton.OKCancel);
    if (Choice == MessageBoxResult.OK)
        mediaElement1.Play(); 
}
如果用户允许或不允许播放媒体,则必须在JavaScript中对此进行检查。如果用户说“取消”,而您仍在播放音乐,您将再次无法通过认证


有更多关于该主题的信息。

您要查找的是xna soundeffect

这是我使用的,它对我的所有音效都很好。 (您不能将音乐与“soundeffect”对象一起使用,因为它不会通过windows应用商店资格认证。您必须将MediaElement用于音乐) 我记不起你需要哪一个,但我有所有这些

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Media;
这个函数呢

private static void LoadSoundEffect(string fileName, SoundEffectInstance mySound)
{
    var stream = TitleContainer.OpenStream("Sounds/" + fileName);
    var effect = SoundEffect.FromStream(stream);
    FrameworkDispatcher.Update();
    mySound = effect.CreateInstance();   
}
如果使用SoundEffectInstance,则可以启动、暂停、停止soundeffect等,而不会出现所有问题

SoundEffect也可以工作,但我更喜欢SoundEffect实例


编辑:如果使用soundeffect,则不会影响正在播放的音乐。

亲爱的劳德,甚至不要问我是否要停止播放列表。我不想听你(没什么私人的)蹩脚音乐。此外,OP提到“javascript”,你认为他在使用PhoneGap或类似的东西吗?这在PhoneGap中有效吗?还有,你要检查一下这一次,在装载时。耶利米,谢谢你深思熟虑的回答。但我的问题不是如何阻止我的应用程序播放音乐,而是如何让我的应用程序不停止背景音乐。在iOS和Android应用程序中,在播放背景音乐时仍可以播放音效,可能MS不支持此功能。但再次感谢,如果找不到更好的选项,我可能需要使用您的解决方案。Joe,MSFT不允许您在Windows Phone设备上使用上述声明。我提出的解决方案正是您想要的。场景:我是一个使用Windows Phone的用户。我通过手机上的音乐播放器播放音乐。在播放音乐时,我打开你的应用程序(这是调用代码的点(onload)),我会收到提示“媒体正在播放,你想停止它吗?”——如果我,用户,说“是,停止它”,那么你(程序员)可以播放你喜欢的任何音乐。如果我说“不”,你不能覆盖这个,否则你将无法通过MS store认证。这是一个令MS失望的决定,因为iOS和Android用户经常在后台听音乐时播放带有声音效果的应用程序。比如,你是否在使用PhoneGap或其他中间件来开发Javascript?可能与你的问题有关。标签有助于瞄准你的受众。