xmlDump и сравнивайте с тем, что ищет регулярка.resourceId. В данном конкретном случае на результат оно влиять не должно, но на будущее стоит пофиксить, вот вам простая функция для этого:function escapeRegExp(string) {
return String(string).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
const source = document.querySelector('source[src="/msg.mp3"]')
source.src = "data:audio/mpeg;base64,<и т.д. то что получено в сервисе data uri>";
const audio = source.parentNode;
audio.load();
audio.volume = 1;
const audioContext = new AudioContext();
const gainNode = new GainNode(audioContext, { gain: 10 });
audioContext
.createMediaElementSource(audio)
.connect(gainNode)
.connect(audioContext.destination);
document.querySelector('source[src="/msg.mp3"]').src = "data:audio/mpeg;base64,<и т.д. то что получено в сервисе data uri>"javascript:void(document.querySelector('source[src="/msg.mp3"]').src = "data:audio/mpeg;base64,<и т.д. то что получено в сервисе data uri>"); и при нажатии на неё файл будет заменяться.
null необязательно, можно просто писать const img = ref<HTMLImageElement>(); - значение получит тип HTMLImageElement | undefined, что для любых практических целей ничем не отличен от HTMLImageElement | null, а писанины меньше. :)
Префикс use зарезервирован за функциями которые работают с компонентом и должны вызываться только в секции setup(иначе работать не будут). Использование его не по назначению захламляет код и затрудняет его чтение адекватными людьми.