我是靠谱客的博主 简单学姐,最近开发中收集的这篇文章主要介绍audio的播放没有声音的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天遇到一个audio 播放没有声音,让我们来看一下代码:

 <audio id="audio" ref="audio">
      <source :src="voice.url" />
</audio>

<p class="el-display">
	<span class="el-display__title">语音描述</span>
	 <span class="el-display__content">
	     <template v-if="detail.dangerDescVoiceUrl == null || detail.dangerDescVoiceUrl == ''">
	         <span> -- </span>
	     </template>
	     <template v-else>
	         <span class="voice" @click="playAudio">
	             <img src="~/assets/images/inspection/voice.png" class="voice-icon" />
	             <span>{{ voice.duration }}s</span>
	         </span>
	     </template>
	 </span>
	</p>
	
pageData() {    
    this.$axios.get(`${API_....}/${this.$route.query.id}`).then(res => {
	   ...
	   this.voice.url = res.data.detail.dangerDescVoiceUrl
}

playAudio() {
	  console.log(this.$refs.audio)
      this.$refs.audio.play()
      document.querySelector(".voice-icon").style.animationPlayState = "running"

描述:

  1. 在 playAudio 中打印出来的链接也是可以正常访问的
  2. 把链接填到 source src="....." 中可以正常播放

一热心小伙说,“呀,我之前也遇到过,你这样,在方法里面写…”
让我们来看一下他说的写法

pageData() {    
    this.$axios.get(`${API_....}/${this.$route.query.id}`).then(res => {
	   ...
	   this.voice.url = res.data.detail.dangerDescVoiceUrl
	    this.audioContent = `
	    <div>
            <audio id="audio" ref="audio" @οnlοad="loadAudio" controls>
                <source src="${this.voice.url}" />
            </audio>
        </div>`
       })
}

然后拼接到上面去,来有没有知道这样写的问题:

另一个大佬说:这样写会在audioContent 插入到html中去 也不是dom,在playAudio中的 ref 会无效。只会当dom去处理

然后一语点拨了我,它有onload的事件吗?能触发吗?

触发这个词立马给我当头一棒,简简单单一句能解决的,原谅我是个憨憨…

playAudio() {
	  this.$refs.audio.load()
      this.$refs.audio.play()
      document.querySelector(".voice-icon").style.animationPlayState = "running"
}

原谅我是个菜鸡小白,暂时记录一下,接下来补充关于 audio 的知识

在这里插入图片描述

浏览器自动播放问题记录

<template>
     <audio ref="audio" loop />
 </template>       

在data中定义播放路径:

   audioSrc: "/audio/9779.mp3",
getMp3() {
    this.$refs.audio.src = this.audioSrc
    this.$refs.audio.play()
},

最后

以上就是简单学姐为你收集整理的audio的播放没有声音的问题的全部内容,希望文章能够帮你解决audio的播放没有声音的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部