【问题标题】:Updated Audio file is not being played when the button is pressed按下按钮时未播放更新的音频文件
【发布时间】:2021-10-11 15:55:37
【问题描述】:

目前我有一个网页,可以播放本地存储在其他服务生成的文件夹中的更新音频剪辑。 按下按钮时播放的音频是以前的音频剪辑(可能是由于缓存?)。除非我手动关闭标签并重新打开另一个标签。

是否可以让或JS函数在每次播放前加载音频文件

<td style="position:relative; top:1px;">
<input id="scream"
type="button"
class="btn"
onclick="play_single_sound()">
</td>

<audio src="{{url_for('static', filename='/screams/new_scream.wav')}}" id="audiotag1" autoplay="autoplay" preload="metadata"/>
<source src="/screams/new_scream.wav" type="audio/mpeg">
</audio>


<script type="text/javascript">
#FIRST METHOD
<!--                var song = document.getElementById('audiotag1')-->
<!--                function play_single_sound() {-->
<!--                    song.play();-->
<!--                }-->

#SECOND METHOD
window.play_single_sound = function() {
document.getElementById('audiotag1').play();
}
</script>

我也尝试过在JS中加载音频作为实例,如下:

var song = new Audio ("../screams/new_scream.wav");
song.preload="auto";
song.play();

以上所有方法都不允许我播放静态文件夹中动态变化的歌曲剪辑。 有什么建议吗?

【问题讨论】:

    标签: javascript html flask audio


    【解决方案1】:

    移除自动播放属性

    <audio src="{{url_for('static', filename='/screams/new_scream.wav')}}" id="audiotag1" preload="metadata"/>
    

    【讨论】:

    • 是的,我已经通过删除自动播放属性进行了更改。我意识到我调用的 javascript 函数没有加载更新的静态音频文件。
    • 我将需要等待 1 分钟,然后网页才能播放更新的音频片段。
    猜你喜欢
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多