我似乎无法改变这种声音。我发现的所有内容都说我需要转到系统声音并更改新邮件通知,但这样做却没有用。无论我将其更改为什么,它都不会改变。我甚至将声音配置文件从 Windows 默认(已修改)更改为无,它仍然发出相同的声音。(我不希望它什么都没有,我只是尝试这样做以确保我没有更改错误的选项或某些愚蠢的事情)
我刚开始在新地方工作,当我收到新消息时,他们的 outlook.office.com 网站就会发出“叮叮”声。我需要将其更改为其他内容。
我有此系统的管理员权限,这是我的个人电脑,更改其他内容的声音没有任何问题 - 只是这个在线界面。我错过了什么?
请注意,这不是重复的Outlook 365 新邮件声音
答案1
编辑:我创建了一个Edge 附加组件处理新邮件/日历提醒通知
找到一种方法来替代声音非常困难......就我而言,我想从日历提醒中更改声音。
我最终按照以下步骤完成了它:
- 安装 Requestly (这是 Edge 的链接) – 它还应该适用于任何可以在页面中插入 JavaScript 的附加组件,例如 Violentmonkey
- 创建新规则”插入脚本“
- 在条件中输入:“URL 包含https://outlook.office.com/mail/inbox/id/”
- 将“语言”设置为“JS”,将“代码源”设置为“代码”,将“插入”设置为“页面加载后”
- 在脚本区域输入以下代码
console.log("### Code injection from Requestly");
// below it's the Base64 version of the ArrayBuffer for mp3
// the content is too long for SuperUser, so you can check at
// https://gist.github.com/Aymkdn/ec5f8508202ed8a0c3f7ad18c1de872a
const reminder = `SUQzBAAAAAAAI1RT[…]VVVVVVVVVVVVVVVVVU=`;
// Below is a function that converts a base64 string to an ArrayBuffer
function base64ToArrayBuffer(base64String) {
const binaryString = atob(base64String);
const arrayBuffer = new ArrayBuffer(binaryString.length);
const uint8Array = new Uint8Array(arrayBuffer);
for (let i = 0; i < binaryString.length; i++) {
uint8Array[i] = binaryString.charCodeAt(i);
}
return arrayBuffer;
}
// to return an audio object
async function myCalendarReminderSound () {
let t = await new Response(base64ToArrayBuffer(reminder), {
status: 200, // Set the desired status code
headers: { 'Content-Type': 'audio/mpeg' } // Set the desired content type
});
let i = await t.arrayBuffer();
let r = new AudioContext();
return r.decodeAudioData(i);
}
// we override the "fetch" function
var originalFetch = fetch;
fetch = function (url) {
// we want to replace the calendar reminder sound, so we check the URL
if (typeof url === "string" && url.endsWith("sounds/notifications/reminder.mp3")) {
console.log("### Inject a new calendar reminder sound");
// wait 1 second delay to avoid overlapping the original sound
setTimeout(() => {
myCalendarReminderSound().then(e => {
let r = new AudioContext();
let t = r.createBufferSource();
t.buffer = e,
t.connect(r.destination),
t.start(0);
// also show a desktop notification
new Notification("Calendar Event", {
body: "A calendar event has been triggered."
});
})
}, 1000)
}
// Call the original fetch method
return originalFetch.apply(this, arguments);
};
- 保存并重新加载 Web Outlook:您现在应该会听到日历提醒的附加声音以及桌面通知
最好有一个插件可以完成所有这些事情……也许有一天我会创建它:-)
答案2
无法更改声音,因为它是由以下 Web Outlook Live 请求的:https://res-h3.public.cdn.office.net/owamail/20230407001.14/resources/sounds/notifications/newmail.mp3
也许请求的 URL 可以重新路由???