Это код просмотра домашней страницы, который воспроизводит песню, если есть пользователь.Я хочу, чтобы он выгрузил предыдущую песню и начал играть новую.Только на двух страницах есть музыка, которую центральный банк называл Dragonhoard, и домашняя страница.На любой другой странице не должно быть никакого звука, независимо от того, воспроизводилась ли предыдущая песня.
В настоящее время происходит то, что звук аудиоплеера не выгружается до того, как предыдущий пользователь перешел к новойссылка, которая приводит к одновременному воспроизведению нескольких звуков.
Я хотел бы знать, как это сделать в Ruby on Rails 5.2, когда страница обновляется или при нажатии на ссылку.
<% provide(:h1, "Welcome to Duelingpets #{homepageAlerts}") %>
<% if current_user %>
<!-- Before this playMusicLoop command there -->
<!-- needs to be a way to stop the previous -->
<!-- audio -->
<!-- Unloading audio starts here -->
<!-- Plays the new sound below -->
<p class="centerpagecontent"><%= playMusicLoop("Homepage", nil) %></p>
<div class="pageformat">
<% if current_user.userinfo.mute_on %>
<p><%= button_to 'Unmute music', muteAudio_path(:pageType => "Home"), $
<% else %>
<p><%= button_to 'Mute music', muteAudio_path(:pageType => "Home"), me$
<% end %>
</div>
<% end %>
Эта страница взята из моего текущего файла помощника пользователя и воспроизводит определенную музыку в зависимости от страницы, на которой сейчас находится пользователь.Этот код прекрасно работает в его текущей настройке, но мне нужна команда для выгрузки аудио, прежде чем запускать playMusicLoop.
def playMusicLoop(type, user)
sound = ""
control = Webcontrol.find_by_id(1)
if(!current_user.userinfo.mute_on)
if(current_user.userinfo.audiobrowser == "ogg")
if(type == "Maintenance")
sound = (audio_tag(getMusicOrVideo("Maintenance", control.mai$
elsif(type == "Missing")
sound = (audio_tag(getMusicOrVideo("Missing", control.missing$
elsif(type == "Hoard")
dragonhoard = Dragonhoard.find_by_id(1)
sound = (audio_tag(getMusicOrVideo("Sound", dragonhoard), :lo$
elsif(type == "User")
if(user.userinfo.music_on)
sound = (audio_tag(getMusicOrVideo("User", user), :loop =>$
end
elsif(type == "Homepage")
criticalMode = Maintenancemode.find_by_id(2)