<audio>数据发生变化,音频播放器实时替换

【写法一】的文件发生变化,音频播放器没有实时替换

   <audio controls :muted="muted" style="height: 3em">
     <source :src="`${state.baseUrl}/upload/alertAudio/${scope.row.fileNamePath}`" />
    audio>

【写法二】可以实时替换

<audio
    controls
    :muted="muted"
    style="height: 3em"
    :src="`${state.baseUrl}/upload/alertAudio/${scope.row.fileNamePath}`">audio>

为什么两种写法的功能是一样的,都是用于在网页中播放音频文件,但实现的效果却有所区别呢?

找到原因了!!因为我每次上传文件后,重新请求到数据的文件名是一样的,导致播放器没有更换到新的音频文件

而第二个代码片段中使用的是直接在标签中用src指定音频文件路径,所以每次更新数据时都会重新加载新的音频文件。

如果你执意要在用第一种写法去实时更新,那就需要更新 标签中的文件名或文件名路径,或者通过JS动态修改标签中的文件名。

audio的两种写法还有什么不同之处吗?

像第一种使用标签,它可以为网页提供多个音频格式,以便在不同的浏览器和设备上使用不同的编解码器播放音频。
第二种段直接在标签的src只能绑定单个音频格式
如果要兼容多个浏览器和设备,需要写多个标签来为不同的浏览器提供不同的音频格式。

你可能感兴趣的:(踩坑日记,音视频,前端,html,javascript)