ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iOS AVFoundation 이란?
    카테고리 없음 2024. 1. 9. 17:54

    UIkit 을 만져보았던 사람들이라면 AVFoundation을 한번쯤은 들어보았을것이다.

    항상 그렇듯 어떤 새로운것을 만져본다면 하던일인 공식문서부터 가보자 .

    공식문서에서는 이렇게 말한다.

     

    work wiht audiovisual asset , controll device camera,process audio , and configure system audio interaction 

    이라고 나와있다. 이말을 해석하자면 단순하게 오디오 카메라 제어 시스템오디오 상호작용등을 도와주는 친구란다.

    이번엔 이녀석에 대한 자세한 정의만 해보고 다음 포스팅에서 와보도록 하겠다.

    간단하게만 더 살펴본다면 AVFoundation 에는 Uikit ,AVKit , AVFoundation 과 이안에  CoreAudio , CoreMedia , CoreAnimation 이 있고 이중에 내가 현재 진행하고 있는 프로젝트인 음성인식 프로젝트에 들어갈만한 기능들은 AVFoundation 과 UIkit 이있다 Uikit 을 보자면 오디오 장치를 사용하는데 있어서 Ui 에 대한것을 모두 직접 구현한다면 무리가 있기에 제공해준는 Kit 로 딱 이정도로만 알면될것같다 . 

    그럼 이제 이렇게 나눠져있는것들을 객체화 해주는녀석이 있겠지? 라는 고민을 하게된다 .

    이녀석은 AVasset 이라고한다 ,이걸 정의하자면 시간이지정된 시청각 미디어를 모델링하는 녀석이다 , 쉽게말해서 파일 기반 미디어들과 HTTP Live Streaming 을 사용해 스트리밍된 미디어를 모델링하는 친구이다. 

    Avasset 은 즉 입력된 미디어 트랙을 모델링하는 하나이상의 AvassetTrack 인스턴스에 대한 컨테이너 객체이고 

    (여기서 트랙이란 미디어에 대한 데이터부분들을 트랙이라고한다) 하는 일을 한줄요약하자면 트랙속성을 비동기적으로 로드해준다, 라고 생각하면 되겠다.

     

    자 그럼 이 에셋을 컨트롤 해주는 친구가있어야할텐데 이녀석을 AVplayer 이라고 한다, 그냥 음 ,, 리모컨이다, 한 리모컨당 하나의 티비만 컨트롤 할 수 있는거처럼 1대1 작용만 가능하다 .

     

    AVplayer 이녀석은 시각적이지 않기 때문에 화면에 그리기위해서는 AVplayerLayer 나 AVKit 등을 사용해야 한다 .

     

    마지막으로 실사용되는 친구를 소개하자면 AvAudioRecorder 이다. 이녀석이 하는일들이 실제 가시적으로 보이는것일뿐더러 실제 프로젝트에서 사용될것같다는 생각을 해본다, 

    기능들은 이러하다 .

     

    1.시스템 입력장치를 통한 오디오 녹음

    2.중지하거나 지정된 시간이 될때 까지 녹음

    3.녹음 일시정지

    이런 기능들처럼 실제 우리가 오디오를 사용할시에 보여지는 기능들 비슷해져간다. 

     

    위와 같은것들을 실제 프로젝트에 진행시켜 보면서 매운맛을 보려고한다,

     

     

    자, 이정도면 어떻게 굴러가는지는 대충 알 수 있을것같다고 생각한다.

     다음 포스팅에서는 간단한 소스코드와 메서드등을 소개하려고 한다 .

     

     

     

     

     

     

Designed by Tistory.