Для обновления компонента без использования `document.querySelector` и `innerText`, можно использовать другие методы для получения элемента и обновления его содержимого. Например, вместо `document.querySelector` можно использовать `getElementById` или `getElementsByClassName` для получения нужного элемента, а вместо `innerText` можно использовать `textContent` или `innerHTML` для обновления его содержимого.
Что касается обновления `trackNameElement` в классе `ComponentsPlayer`, то пришлось удалить следующую часть кода из функции `playAudio`:
```javascript
this.trackNameElement.innerText = trackName;
```
Если мы хотим обновить `trackNameElement` без использования `innerText`, можно воспользоваться методом `textContent`, который будет выглядеть следующим образом:
```javascript
this.trackNameElement.textContent = trackName;
```