[Java & Android] 안드로이드 소켓 통신 오디오 파일 전송
·
개발/Java & Android
개요 안드로이드 클라이언트에서 파이썬 서버에 오디오 파일을 전송하는 기능을 구현해보겠다. 클라이언트 (Android) 1. Layout 구성 파일을 전송하는 버튼과 전송 상태를 표시하는 텍스트뷰를 구성하였다. 2. Manifest 권한 추가 휴대폰에 저장되어 있는 음악파일을 전송하기 위한 외부 저장소 권한과 소켓 통신을 이용하여 서버로 파일을 전송하기 때문에 인터넷 권한을 허용한다. 3. Socket 변수 // Socket private Socket socket; private static String SERVER_IP = "192.168.0.169"; private static int SERVER_PORT = 50000; private static String folderName = "Music"; p..
[Java & Android] 안드로이드 통화 녹음 파일 가져와 재생시키기
·
개발/Java & Android
개요 MediaPlayer 라이브러리를 사용하여 사용자의 녹음 폴더에 있는 녹음파일을 재생하는 기능을 구현해보겠다. 1. Layout 구성 녹음 목록을 띄우는 버튼과 녹음 목록 리스트를 구성한다. 녹음 목록을 리스트로 표현하기 위한 xml이다. 2. Manifest 권한 추가 매니페스트에 외부저장소에 접근할 수 있는 권한을 추가한다. 외부저장소: 휴대폰 기기에 파일들을 저장하는 곳(사진, 동영상, 파일 등) 내부저장소: 앱 내에 데이터를 저장하는 곳 3. 어댑터 정의 public View getView(int i, View view, ViewGroup viewGroup) { View mView = mLayoutInflater.inflate(R.layout.listview, null); TextView r..
[Java & Android] Android 지속적인 음성인식 기능 구현 (SpeechRecognizer)
·
개발/Java & Android
개요 지난 포스팅때 Foreground 서비스와 SpeechRecognizer API에 대해서 알아보았다. Google 에서 제공하는 SpeechRecognizer API는 연속해서 음성인식을 할 수 있는 기능이 따로 없으며 무료 API 이기 때문에, 제한적인 부분이 많다. 이번 포스팅에서는 지난 포스팅때 다뤘던 두 기능으로 음성인식이 끝날 때 마다 다시 시작하는 방식을 사용하여 백그라운드에서 지속적인 음성인식을 하는 방법을 알아보겠다. 기능의 자세한 내용은 지난 포스팅을 참고하길 바란다. 1. 동작 원리 btn_start = findViewById(R.id.btn_start); btn_start.setOnClickListener(new View.OnClickListener() { @Override pu..
[Java & Android] Android SpeechRecognizer API 구현하기 (음성을 텍스트로 변환 - STT변환)
·
개발/Java & Android
개요 안드로이드에서 제공하는 SpeechRecognizer API를 사용하여 인식된 음성을 텍스트로 변환하는 작업을 수행해보겠다. 1. Layout 구성 결과를 출력하는 TextView와 음성인식을 실행하는 Button을 구현한다. 2. Manifest 파일에 권한 추가 SpeechRecognizer API는 Google 서버를 이용하기 때문에 INTERNET 권한이 필요하다. 음성인식을 하기위해서 마이크 권한이 필요하다. API 30부터는 queries 속성을 추가하여야 사용할 수 있다. 3. 권한 요청 // 권한 요청 if(Build.VERSION.SDK_INT >= 23){ ActivityCompat.requestPermissions(this, new String[] {Manifest.permiss..
[Java & Android] 포그라운드 서비스 (Foreground Service)
·
개발/Java & Android
개요 여러 프로세스를 실행하거나 앱이 꺼져도 계속해서 어떠한 동작을 실행 시키고 싶을 때가 있다. 그럴 때 사용하는 기능이 포그라운드 서비스다. 그럼 포그라운드와 백그라운드의 차이는 무엇인가? 포그라운드 vs 백그라운드 1. 포그라운드(Foreground) - 죽지않는 서비스 포그라운드는 사용자가 인지할 수 있는 작업을 수행한다. 포그라운드 서비스를 실행하기 위해서는 상태바 알림을 꼭 띄어야만 한다. 백그라운드와는 다르게 메모리 부족 시에도 시스템에서 강제로 서비스를 종료하지 않는다. ex) 앱 다운로드, 노래 재생 등 2. 백그라운드(Background) 백그라운드는 사용자에게 직접적으로 보이지 않는 작업을 수행한다. 메모리 부족 시 서비스가 강제 종료된다는 단점이 있다. 구현 1. Layout 구성 ..