首页 文章

通知自定义声音不播放UWP

提问于
浏览
2

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

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)

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

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

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

2 回答

  • 0

    由于您的自定义声音位于App_Code Project内: 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的签名,并确保您指定了有效的绝对URI,包括方案和权限 .

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

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

    如果我们使用 ms-appx:///Sounds/AnyDay.mp3 ,则Toast通知将使用“AnyDay.mp3 " under " Namaz Pro / Sounds”,但由于没有此类资源,Toast通知将充当静默 .

  • 1

    可能有一些原因

    • 确保音频文件是.WAV .WMA .MP3格式

    • 确保音频文件持续时间小于10秒

    • 确保音频文件存储在Application Directory或Local Storage文件夹中

    更多你可以访问这里TOASTS for Windows Phone....

相关问题