익명의 개발노트

[vue.js] audio file upload 본문

코딩일기/TIL

[vue.js] audio file upload

캡틴.JS 2020. 7. 2. 18:25
반응형

 

audio tag upload

오디오 tag 업로드 구현하기

기본적으로 오디오 태그는 controls 이용하면, 위 그림과 같이 내장된 툴이 생성된다.

 <audio class="player" controls ref="player">
     <source src="" ref="source"> 
 </audio>

기본적으로 파일 업로드를 위해서는 Input Tag를 이용하여 업로드를 구현해야한다.

<input type="file" id="soundFileInput" class="soundFileInput" 
       accept="audio/*"
       @change="onAudioSelected" />  

위와 같이 input tag 를 작성했으면, 업로드를 위해서 change 이벤트를 이용해 구현하자.

 onAudioSelected(e){
       const uploadSound = event.target.files[0];
       
       const audioSrc = window.URL.createObjectURL(uploadSound);
       
       this.$refs.source.src = audioSrc;
             
       this.$refs.player.load(); //업로드완료 후 파일로딩
       
       event.target.value =''; //다른거 업로드할때를 위해 초기화
      }
    },

업로드를 하면, audio tag 안에 source를 가져와 src 에다가 주소값으로 변환한 audioSrc를 넣어주고,

Audio 태그에 load 시켜주면 끝난다.

초기화해야할 경우는 아래와 같이 src를 초기화해주고 똑같이 load 시켜주면 된다.

 this.$refs.source.src = '';
 this.$refs.player.load();

 

참고자료 : https://developer.mozilla.org/ko/docs/Web/HTML/Element/audio

반응형
Comments