Skip to content

Commit

Permalink
feat: 라이브 영상 저장 기능 구현 2트
Browse files Browse the repository at this point in the history
  • Loading branch information
ghkdgus29 committed May 26, 2024
1 parent e304b88 commit 045cc21
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions src/main/java/site/youtogether/playlist/PlayingDefaultVideo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package site.youtogether.playlist;

import java.util.Timer;
import java.util.TimerTask;

import site.youtogether.exception.playlist.PlaylistEmptyException;
import site.youtogether.message.VideoSyncInfoMessage;
import site.youtogether.message.application.MessageService;
import site.youtogether.playlist.application.PlaylistService;

public class PlayingDefaultVideo extends PlayingVideo {

private final long totalTime;

public PlayingDefaultVideo(String roomCode, Video video, MessageService messageService, PlaylistService playlistService) {
super(roomCode, video, messageService, playlistService);
this.totalTime = video.getDuration();
}

@Override
protected void createTimer(double playerRate) {
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
if (currentTime >= totalTime) {
messageService.sendVideoSyncInfo(
new VideoSyncInfoMessage(roomCode, videoId, PlayerState.END, totalTime, playerRate)
);
try {
playlistService.callNextVideoByTimer(roomCode);
} catch (PlaylistEmptyException ignored) {
}
timer.cancel();
timer.purge();
return;
}
messageService.sendVideoSyncInfo(
new VideoSyncInfoMessage(roomCode, videoId, PlayerState.PLAY, currentTime, playerRate)
);
currentTime += 1;
}
}, 0, timerPeriod);
}

}

0 comments on commit 045cc21

Please sign in to comment.