【发布时间】:2015-09-03 01:46:47
【问题描述】:
我有一个允许用户上传音乐的应用程序,但我无法设置一个允许他们播放音乐的播放器。
在用户的页面上,这是他/她的热门曲目的简化示例:
<% @top_tracks.each do |track| %>
<div class="top-track">
<button class="btn-play">
<i class="icon-play"></i>
</button>
<span><%= track.title %></span>
</div>
<% end %>
每首曲目都有几个属性,包括但不限于:title(不言自明)、album_id(每首曲目都属于专辑)、file_url(曲目的 MP3 文件的 URL)、和album_position(专辑中曲目的顺序)。
我希望能够单击每个曲目的.btn-play 按钮并播放相应的音频。理想情况下,我还会在页面底部有一个专用播放器,它可以完全控制暂停、搜索、调整音量和显示当前播放歌曲的信息。
该播放器的简化版本如下所示:
<div class="player">
<button class="play">
<i class="icon-play"></i>
</button>
<button class="pause">
<i class="icon-pause"></i>
</button>
<div>
<div class="now-playing">[currently playing track title would go here]</div>
<div class="seekbar"></div>
</div>
<div>
<button class="mute">
<i class="icon-mute"></div>
</button>
</div>
</div>
我不太熟悉 Javascript,或者如何使用 .play() 或 .pause() 等方法。我已经查看了mediaelement_rails gem,但我不确定这在这种情况下是否有用。总而言之,我将如何连接轨道以便:
1) 当我点击.btn-play 按钮时,它会播放曲目
2) 曲目的信息将填充到播放器中的相应信息
3) 播放器的控件将控制当前播放的曲目
【问题讨论】:
-
为什么不使用audio_tag?
标签: javascript ruby-on-rails html audio mediaelement.js