То, что Вам кажется что строки логичные , это не делает их таковыми. Если код работает не так как должен, значит есть ошибки, консоль может ничего не показывать представляете, но программа все равно не будет работать правильно.
Вы удалили первичную инициализацию remoteAudio - ладно. Зачем вы удалили это скажите? Вы рандомно исключаете/вставляете строки пока не заработает? - remoteAudio.autoplay = true;
Вы ре-инициализировали remoteAudio так, что оно содержит в себе html элемент. Хотя изначально подразумевалось другое значение, это видно по тем же исходникам с Хабра