0

我急需你的帮助。我是一名 Windows 应用程序开发人员,我需要我的应用程序在收到 toast 通知时播放警报声。我已经尝试了许多不同的加载并且一切正常(即使在音频标签中应用silent='true'),当然,除了自定义声音。

我尝试了我的开发服务器,并尝试了从应用程序发送的本地吐司,但似乎没有任何效果。

我当前的 XML 加载如下(我从 MSDN 中的一个示例中得到它):

string audio = "ms-winsoundevent:Notification.Mail";
string toastXmlString = "<toast duration='long'>"
                   + "<visual version='1'>"
                   + "<binding template='ToastText02'>"
                   + "<text id='1'>Sound:</text>"
                   + "<text id='2'>" + audio + "</text>"
                   + "</binding>"
                   + "</visual>"
                   + "<audio src='" + audio + "' />"
                   + "</toast>";

我曾经设法播放的唯一声音是默认的 Windows 声音。没有“ms-winsoundevent”的声音,没有“ms-appx”或“ms-appdata”的声音,什么都没有。

我检查了标头和 XML 加载,并将它们与 MSDN 文档进行了比较。我尝试了不同的格式(mp3 和 wav)和不同的音频剪辑长度(18 秒、5 秒、10 秒等...)

我的经验告诉我,如果 XML 加载或标题出现问题,则 toast 将不会到达或文本不会显示。然而,除了声音,一切都很好。

提前感谢您提供的所有帮助。

4

1 回答 1

0

我不知道你是否已经解决了你的问题,但是问题在于duration="long"属性。

根据 MSDN:

Note that neither looping audio nor long-duration toasts are not supported on Windows Phone 8.1. 所以你必须使用duration="short"才能播放自定义声音。

它隐藏NOTEsound标签文档中并且没有明确说明,最糟糕的是通知将正确显示,将应用静音属性但不会播放声音。声音文件也应少于 10 秒,但shorttoast 通知仅显示 5-6 秒,并且loop不会按说明工作。

希望这可以帮助你:)

于 2015-12-09T18:32:50.697 回答