Olá Pedro,
Entendo sua dúvida sobre o useEffect e o carregamento do player. Realmente, o useEffect é executado após a renderização da página, o que pode causar esse comportamento indesejado.
Uma possível solução para esse problema seria utilizar uma flag de carregamento, que indica se o player já foi carregado ou não. Dessa forma, é possível exibir uma mensagem de carregamento enquanto o player não estiver pronto para ser exibido.
Quanto à sua pergunta sobre o await, ele é utilizado para aguardar a conclusão de uma operação assíncrona, como a busca de dados em uma API externa. No caso do carregamento do player, não é necessário utilizar o await, pois a operação é síncrona.
Espero ter ajudado a esclarecer sua dúvida sobre o useEffect. Se precisar de mais ajuda, é só perguntar!
Espero ter ajudado e bons estudos!