Android/멀티미디어
-
[ Android ] 임시 파일 생성해서 외부 앱으로 찍은 사진 받기Android/멀티미디어 2020. 9. 16. 20:21
resolveActivity() takePictureIntent.resolveActivity(getPackageManager()) 결과가 null이 아닌 경우, 인텐트를 처리할 수 있는 앱이 최소한 하나는 있다는 뜻이며 startActivity()를 호출해도 안전합니다. 결과가 null이면 해당 인텐트를 사용해서는 안 되고, 가능하면 해당 인텐트를 호출하는 기능을 비활성화해야 합니다. Code public class ReportCameraActivity extends AppCompatActivity { private File filePath; private ImageView resultView; private String currentPhotoPath; @Override protected void onC..
-
[ Android ] 음성 녹음하기Android/멀티미디어 2020. 3. 26. 14:32
이 글은 부스트코스 강의 와 MediaRecorder를 공부하며 요약한 글입니다. CatServant MediaRecorder Android 멀티미디어 프레임워크에는 다양한 일반 오디오 및 동영상 포맷을 캡처하고 인코딩하는 지원 기능이 포함되어 있습니다. AudioRecorder 는 오디오만 레코딩 가능 하지만, MediaRecorder 의 경우 Audio 및 Video 컨텐츠의 레코딩이 가능 합니다. 다만 인코딩 된 파일을 받기 때문에 AudioRecorder 처럼 PCM Data 를 바로 받아올 수는 없는 단점이 있습니다. MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC)..
-
[ Android ] 음악 재생하기Android/멀티미디어 2020. 3. 25. 16:48
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. 안드로이드 프레임워크에서 소리와 영상을 재생하기 위해 사용하는 클래스는 아래와 같습니다. MediaPlayer 소리와 영상을 재생하기 위한 기본 API 입니다. AudioManager 기기의 오디오 소스와 오디오 출력을 관리하는 Class입니다. CatServant MediaPlayer Audio / Video File 및 Stream의 재생 제어는 상태 머신(State machine)으로 관리됩니다. 타원은 MediaPlayer 객체의 상태를 나타냅니다. 아크(arc)는 객체의 상태 전환을 구동하는 재생 제어 작업을 나타냅니다. 여기서 단일 화살촉의 화살표(or Arc)는 동기식 메서드 호출이고 이중 화살촉이 있는 화살표(or Arc)는 비동기식 메..
-
[ Android ] 동영상 파일 재생하기Android/멀티미디어 2020. 3. 24. 17:08
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant 실행 결과 Code AndroidManifest.xml android.permission.WAKE_LOCK CPU가 켜진 상태를 유지 한다. wake lock을 사용하면 Application에서 호스트 기기의 전원 상태를 제어할 수 있습니다. wake lock을 생성하고 유지하는 것은 호스트 기기의 배터리 수명에 심각한 영향을 미칠 수 있습니다. 따라서, wake lock은 꼭 필요한 경우에만 사용하고 가능한 한 짧은 시간 동안 유지해야 합니다. MainActivity.java public class MainActivity extends AppCompatActivity { VideoView videoView; public final..
-
[ Android ] 사진 미리보기 - Camera 이용Android/멀티미디어 2020. 3. 17. 17:02
CatServant 옆의 사진은 카메라 미리보기를 구현한 사진입니다. 현재는 android.hardware.Camera 가 deprecated 되어서 Camera2를 이용해야 합니다. 그리고 카메라 화면이 회전되어서 나오기 때문에 똑바르게 회전되어 나오도록 코드를 추가해 주었지만 미리보기 화면은 회전되지 않은 상태로 나옵니다. SurfaceView 카메라 미리 보기를 추가하고 싶은 경우 SurfaceView를 사용하면 됩니다. SurfaceView를 상속하는 새로운 클래스를 만들고 해당 클래스가 SurfaceHolder의 Callback Interface를 구현하도록 합니다. 여기서 SurfaceView는 껍데기 역할만 하고 실제 컨트롤은 SurfaceHolder가 담당합니다. 그리고 뷰의 상태 변화를 ..
-
[ Android ] 사진 찍기Android/멀티미디어 2020. 3. 16. 15:51
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant SufaceView는 일반 뷰처럼 화면의 일정 영역을 할당받는다. 하지만 View와 독립적으로 구성되어 있어서 직접 SurfaceHolder를 통해서 상태를 관찰하고 상태에 맞게 처리해줘야 한다. getexternalfilesdir / getexternalstoragedirectory ** 이후 추가 Code AndroidManifest.xml : xml 파일의 경로를 넣어줘야 한다. 현재에는 android.hardware.camera2 가 더 많이 사용된다. build.gradle ( Module.app ) → 위험 권한 추가하기 allprojects { repositories { maven { url 'https://jitpac..