通知自定义声音不播放UWP

时间:2016-02-09 16:54:53

标签: c# windows notifications uwp

我测试了我的应用程序没有任何自定义声音,默认声音播放完美

var prayerName = App_Code.helperMethods.getPrayerNameforNotification(i);
        ToastAudio tA = new ToastAudio();
        tA.Src = new Uri("ms-appx:///Sounds/AnyDay.mp3");


        ToastContent con = new ToastContent()
        {
            Visual = new ToastVisual()
            {
                TitleText = new ToastText() { Text = "Namaz Pro" },
                BodyTextLine1 = new ToastText() { Text = prayerName + " in " + App_Code.StoreRetrieveSettingsAssist.getLocation() },
                BodyTextLine2 = new ToastText() { Text = App_Code.helperMethods.userSpecifiedTimeFormat(myPT, DateTime.Today) },
            },

            Launch = DateTime.Today.ToString("ddMMyyyy") + i.ToString(),

            Scenario = ToastScenario.Alarm,

            Duration = ToastDuration.Short,

            Audio = tA,



        };



        return con;

我的解决方案中有三个项目:

  • App_Code

  • BackgroundTasks(参考App_Code)

  • Namaz Pro(参考App_Code){MAIN APP}

我的自定义声音是“AnyDay.mp3”(对于Elvis的好奇声音)放在App_Code项目中:App_Code / Sounds / AnyDay.mp3

我上面提到的块也在App_Code中的代码。

但声音根本不播放,而通知就像是静音一样。 我甚至尝试过.wav文件,但结果仍然相同。

2 个答案:

答案 0 :(得分:1)

由于您的自定义声音位于App_Code项目内: App_Code / Sounds / AnyDay.mp3 ,因此您需要使用此URI:

ms-appx:///App_Code/Sounds/AnyDay.mp3

而不是ms-appx:///Sounds/AnyDay.mp3

  

使用ms-appx:方案时,Windows运行时API不支持UriKind.Relative类型的URI,因此您通常使用可以推断UriKind的签名并确保您指定了有效的< strong>绝对URI ,包括方案和权限。

要访问存储在应用程序附带的框架或库包中的文件,我们可以使用绝对URI,如:

ms-appx:///App_Code/Sounds/AnyDay.mp3

如果我们使用ms-appx:///Sounds/AnyDay.mp3,则Toast通知将使用&#34; AnyDay.mp3 &#34;在&#34; Namaz Pro / Sounds &#34;下,但由于没有这样的资源,toast通知将充当无声。

答案 1 :(得分:0)

可能有一些原因

  • 确保音频文件位于.WAV .WMA .MP3格式
  • 确保音频文件持续时间少于10秒
  • 确保音频文件存储在应用程序目录或本地存储文件夹

    您还可以访问TOASTS for Windows Phone....