【问题标题】:Notification custom Sound not playing UWP通知自定义声音未播放 UWP
【发布时间】:2016-02-10 15:38:40
【问题描述】:

我已经在没有任何自定义声音的情况下测试了我的应用程序,并且默认声音可以完美播放

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”(对于好奇的猫王),放在 App_Code 项目中:App_Code/Sounds/AnyDay.mp3

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

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

【问题讨论】:

    标签: c# windows notifications uwp


    【解决方案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 的签名并确保您指定了有效的绝对 URI 包括计划和权限。

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

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

    如果我们使用ms-appx:///Sounds/AnyDay.mp3,那么 toast 通知将使用“Namaz Pro/Sounds”下的“AnyDay.mp3”,但由于没有这样的资源, toast 通知将无声。

    【讨论】:

    • 抱歉回复晚了。自定义通知声音仅在 W10 Mobile 上播放。然而它只播放几秒钟(即使是 toastduration.long)。我怎样才能让它停留更长时间,直到我的 2 分钟歌曲完成?
    • 是的,只有移动设备支持自定义音频。如果想玩久一点,可以试试把Duration去掉,把Scenario改成Reminder或者AlarmDuration 不推荐在 Windows 10 中使用。此属性的存在主要是出于 appCompat 的原因。正如我在 Mobile Emulator 中测试的那样,自定义音频可以播放超过 2 分钟。
    • 任何让它在 PC 上工作的解决方法!这首歌将近3分钟!这是一个 UWP 应用程序!自定义通知声音会在平板电脑和其他设备上播放吗?我应该检查什么才能知道设备支持自定义通知?
    • 目前只有手机可以使用自定义音频。您可以尝试使用Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily 来检查设备是否支持自定义音频,如果它的值为Windows.Mobile 则设备支持自定义音频。但这只是一种解决方法,因为此属性仅供分析使用。
    • 请注意,从 11 月的 Windows 10 更新(内部版本 10586)开始,桌面版 Windows 10 支持自定义通知声音,但需要注意以下事项:“......是通过商店安装的。”显然,这是在周年更新(内部版本 14939)中修复的。来源:blogs.msdn.microsoft.com/tiles_and_toasts/2016/06/18/…
    【解决方案2】:

    可能有一些原因

    • 确保音频文件为 .WAV .WMA .MP3 格式
    • 确保音频文件时长小于 10 秒
    • 确保音频文件存储在应用程序目录或本地存储文件夹中

      更多内容您可以访问这里TOASTS for Windows Phone....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 2017-01-16
      相关资源
      最近更新 更多