我测试了我的应用程序没有任何自定义声音,默认声音播放完美
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文件,但结果仍然相同。
答案 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)
可能有一些原因
确保音频文件存储在应用程序目录或本地存储文件夹
中