5/8일 WTL 5월 첫째주 주간회고

송은혜·2022년 5월 8일
0

항해99 6기

목록 보기
31/34
post-thumbnail

오디오파일 1분 미리듣기를 완성했다 !

자바에 오디오관련된 클래스들이 있었다.
import javax.sound.sampled.* 를 임포트하면 사용할 수 있는데, AudioFileFormat, AudioFormat, AudioInputStream를 이용했다.

자료를 찾는 게 쉽지 않았다 ..ㅎ
javax.sound.sampled에 대해 참고한 자료이다.
참고한 자료


하지만 자료형이 File이여야하기 때문에 파일을 주고 받고 있던 MultipartFile을 File로 먼저 형변환 해준 뒤, 편집을 진행했다.

코드는 완성을 했는데, 막상 테스트를 해보니 예외가 발생했다.

로직을

  1. 받을 오디오 파일을 S3에 업로드한다.
  2. 1분 미리듣기를 만든다
  3. 생성된 미리듣기를 S3에 업로드한다.
  4. 필요없는 파일을 삭제한다.

이 순서로 작동하게 코드를 짰다고 생각했는데 1분 미리듣기를 편집하는 과정이 다른 로직들에 비해 시간이 오래걸려서 , 4번이 먼저 실행이 되어 발생하는 문제였다.
( => 미리듣기 파일 생성할 때 , MultipartFile을 File로 형변환 하는 과정에서 로컬에 형변환 된 파일이 저장되는데,
오디오 편집을 그 파일을 가지고 한다.
그런데 해당 파일은 편집이 끝나면 자리만 차지하는 필요없는 파일이 되므로 작업이 끝나면 삭제 하도록 해준 것.)

오디오 파일만 편집할 쓰레드를 만들고 , 메인에서 실행할때는 join을 걸어서 오디오파일 쓰레드가 먼저 작동하고 끝날 때까지 기다리도록 해서 내가 원하는 순서대로 작동될 수 있도록 개선 했다.



확장자 변환하는 부분은 시도하고 있는데 레퍼런스도 찾기가 힘들고 시간이 너무 오래걸려서 다른 것부터 진행하기로 했다.

진행중인 프로젝트에서 1:1문의하기에 실시간 채팅기능을 넣기로 하였었는데, 프론트분들이 많이 바쁘셔서 백쪽에서 채팅기능만 프론트랑 서버 둘다 구현해보기로 했다.

시간이 정말 빠르게 지나간다. 벌써 이번주 토요일에 중간 발표회를 한다.

잘 할 수 있을 까 상당히 떨린다 .
간단하게지만 발표 자료도 준비해야하고, 질문에 대비도 해야한다.

팀장을 맡아서 이런 자리가 주어지면 더 큰 책임감이 느껴진다.
준비를 잘해서.. 팀원들에게 피해가 가지 않도록 해야겠다.

0개의 댓글