簡體   English   中英

如何播放從Rails / Active Storage提供的音頻文件

[英]How to play audio files served from Rails / Active Storage

我有一個接受音頻文件上傳的模型(使用Rails 5.2.2,active_storage)。 為了測試,我創建了一個視圖,該視圖僅為每個視圖創建一個播放按鈕:

<% @page.uploads.each do |upload| %>
    <div class="player btn btn-outline-secondary">
        <%= audio_tag rails_blob_url upload %>
        Play
    </div>
<% end %>

<script>  
$(document).ready(function() {
    $(".player").click(function() {
        $(this).children('audio')[0].play();
    });
});          
</script>

效果很好,但是5分鍾后它停止工作,按一下按鈕將不再播放聲音,必須刷新頁面才能再次工作。 (至少在Chrome和FireFox中,Safari似乎可以繼續工作)。

我認為這與活動存儲在5分鍾后過期后生成的重定向URL有關...但是我認為rails_blob_url總是向文件返回新的URL。 這看起來像是正確的方法,還是我錯過了什么?

您可以這樣更改活動存儲的到期時間

# config/initializers/active_storage.rb
ActiveStorage::Service.url_expires_in = 1.hour

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM