JAVA
-
자바(JAVA) mp4 파일 video control 속성 적용JAVA/컨셉 , 예제 2020. 2. 19. 14:01
동영상 파일을 재생할 때, 특정 구간을 동작시켜야 하는 일이 생겼다 (유튜브에서 시간대 하이퍼링크 클릭 기능) 이에 따라 html5의 video 태그 사용해 해결하려고 했는데, 태그에서 플레이를 제외한 기능에 대해 동작하지 않는 것을 알게 됐다 ㅠ 자바에서 ResponseEntity 이용해 다운로드 기능 개발해둔 상태였고, 크롬에서 요청하면 다음 영상과 같이 플레이 / 정지 이외의 기능은 사용하지 못했다. https://stackoverflow.com/questions/8088364/html5-video-will-not-loop HTML5 video will not loop I have a video as a background to a web page, and I am trying to get it t..
-
구글 STT 타임스탬프(Timestamp) 예제 (Speech to text API) 로컬 파일 사용, 1분 미만 짧은 오디오 파일JAVA/컨셉 , 예제 2020. 1. 25. 18:00
구글 STT 사용 예제. 짧은 음원 파일에서 텍스트 및 해당 텍스트 나온 시간까지 캐치할 수 있다 JAVA 1.8, 윈도우 환경에서 진행했고, 동영상 파일에서 음원 추출한 파일을 파라미터로 사용했다. STT 사용하기 위해 구글 클라우드 플랫폼 등록해야 하는데 그 과정은 구글링하면 많이 나와 생략. 간단하게 순서만 말하자면 1. 구글 계정 생성 2. 구글 클라우드 플랫폼 결제방식 등록 (카드 번호) > 체험판 사용 가능하지만 나중에 비용 발생 3. 프로젝트 생성 및 활성화 4. IAM 설정 및 인증서 발급 (JSON 파일) 5. GOOGLE CREDENTIAL 환경 설정 ( 4번에서 IAM 설정시 발급받은 JSON 파일) > 사용 권한 및 비용 산정 위해 https://cloud.google.c..
-
Jave 예제 (동영상파일에서 음원 추출)JAVA/컨셉 , 예제 2020. 1. 25. 17:52
회사에서 업무 중 stt 기술 적용 시켜야 할 일이 있었다. 텍스트 뿐 아니라 타임스탬프까지 기록하고 싶었는데, google cloud platform에서 지원하고 있었고, 이를 적용시키는 와중 동영상에서 raw 음원 파일 추출해주는 라이브러리가 있어 소개 내가 해결해야 하는 이슈는 - 동영상(.mp4) 파일에서 음원파일을 추출해야 하는 것 (google에서는 wav, flac 등 음원파일만을 파라미터로 허용) 이었고, 이를 JAVE 라이브러리를 통해 해결했다. 자바 버전 1.7에서 동작 확인 http://www.sauronsoftware.it/projects/jave/ 홈페이지 접속해서 바이너리 파일 받으면, jar 파일이 있다. 이를 외부 라이브러리로 등록하면 it.sauronsof..
-
(JAVA) 자바 인터페이스(Interface)JAVA/컨셉 , 예제 2018. 8. 24. 13:54
추상클래스의 특징에 대해 정리하면 1. 추상 메소드가 포함되어 있다. (abstract 키워드 사용) 2. 객체를 생성할 수 없다. (추상 메소드가 있기 때문) 3. 다른 클래스에서 상속받아 사용한다. (extends 키워드 사용) 인터페이스(Interface)는 추상메소드만으로 이루어진 추상 클래스라고 이해하면 편하겠다. 추상클래스와의 대표적 차이점은 1. 인터페이스를 구현하는 메소드가 모두 추상 메소드이다. 추상클래스는 추상메소드와 구현된 메소드 모두 있어도 무방. 2. 추상 클래스는 extends , 인터페이스는 inplements로 기능 상속. 3. 추상클래스는 하나의 클래스만 상속가능, 인터페이스는 다중 상속 가능. 자바의 특징 중 하나인 다형성을 더 효과적으로 제공하기 위해 등장. packag..
-
(JAVA) 자바 추상 클래스(abstract class)JAVA/컨셉 , 예제 2018. 8. 24. 13:53
추상 : 어떤 사물이 직접 경험하거나 지각할 수 있는 일정한 형태와 성질을 갖추고 있지 않은, 또는 그런 것이다. 포인트는 일정한 형태이다. 자바에서는 일정한 형태를 갖추면 완벽하게 구현되어 있지 않더라도 메소드나 클래스의 선언을 허용해주겠다는 것이다. 이때 사용하는 키워드가 abstract이다. 특징을 정리하면 1. 추상 메소드가 포함되어 있다. (abstract 키워드 사용) 2. 객체를 생성할 수 없다. (구현부분이 없는 메소드가 있기 때문) 3. 다른 클래스에서 상속받아 사용한다. (extends 키워드 사용) package blog.naver.com; public abstract class CoffeeMachine { protected int atm = 9; public void espresso..
-
(JAVA) 자바 상속 & 오버라이딩(Over riding)JAVA/컨셉 , 예제 2018. 8. 24. 13:52
자바의 가장 중요한 특징 중 하나가 상속이다. 상속을 해주는 클래스를 super class, 받는 클래스를 sub class라 한다. 상속이 무엇인가 유산을 물려받음과 같이 자바에서는 super class로부터 메소드를 물려받아 사용할 수 있다. 이때 사용하는 키워드가 extends이다.다음 클래스에서 작성한 메소드는 start와 main 두개뿐이다. 리턴 타입 뒤에 해당 메소드가 작성되어 있는 클래스가 적혀 있다. 나머지 메소드들은 Object 클래스에서 작성되었다는 말이다. quals 메소드에 ctrl 누르고 클릭해보면다음과 같이 메소드가 나온다. 스크롤을 맨 위로 올려보면Object 클래스가 나온다. 우리가 Object 클래스를 기본적으로 상속받아서 메소드들을 사용할 수 있는 것임을 기억하자. pa..
-
(JAVA) 자바 클래스(static) 멤버 &인스턴스(instance) 멤버JAVA/컨셉 , 예제 2018. 8. 24. 13:49
자바 프로그램에서 메모리를 할당하는 방법은 두가지가 있다. static과 new가 그것이다. 1. stiatic : 프로그램 작성 순간부터 메모리를 차지해 프로그램의 종료시까지 참조를 가능하게 해주는 키워드이다. 프로그램 시작부터 종료까지 메모리를 차지하고 있는 것에서 이름을 유래.(정적인) 클래스 멤버라고도 한다. ※ 메모리의 효율적인 사용을 위해 힙공간을 점유를 최소화 하는 것이 중요하다. 2. new : 키워드 선언 위치의 블록이 끝날 때까지 참조 가능하게 한다. 해당 블록이 끝나면 객체의 값이 null로 바뀌며 가비지 컬렉터에 의해 회수됨. 인스턴스 (instance) 멤버(객체)가 생성되었다고 한다. 여기서 중요한 것은 생성의 순서이다. 앞서 기술한 바와 같이 static 변수, 메소드들은 프로..
-
(JAVA) 자바 파일 입력 & 출력 & 복사 & staticJAVA/컨셉 , 예제 2018. 8. 24. 13:48
파일 객체를 이용해 입력 내용을 다른 파일에 복사해 출력하는 프로그램 package blog.naver.com; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class FileWriteHelper { private static final String LOG_FOLDER_PATH = "C:\\Users\\Admin\\Desktop\\logs"; private static final String LOG_FILE_PATH = LOG_FOLDER_PATH + "\\log2.txt"; public stati..