
최근 주변을 통해 App 에서 사운드 관련 작업의 논의를 했었다. 나는 예전에 사운드 디자인과 엔지니어링을 했었는데 Swift 로는 작업을 해본적이 없어 이번 기회에 조금 공부해보았다. 이전에 Max MSP 와 Sonic Pi 에서 작업해본적이 있긴 한데, 그때처럼 play(); 하면 되는게 아닌가? 하는 쉬운 생각이 들었다. 그래서 AVFoundation의 오디오 파트를 훑어봤는다. EQ와 input, output 채널 등을 사용할 수 있게 되어 있었으나 내가 필요한 오실레이터(OSC, Oscillator)는 Swift 에 기본제공되지 않는다. 오실레이터를 직접 구현해야 하고, 버퍼 등을 직접 만들어야 한다. 물론 이것도 재미있겠지만 오디오 작업에는 AudioKit 이라는 라이브러리를 많이 사용하는 것..
FLO MusicPlayer 앱에서 사용하는 AVPlayer는 음악을 재생시키고, 컨트롤를 하는 핵심 요소로 사용된다. AVPlayer를 어떻게 사용했는지 알아보자 먼저, iOS의 프레임워크들에서 자주 사용했던 자연스럽게 delegate를 채택하려고 했지만, delegate가 AVPlayer에는 없다. 대신, KVO(Key-Value-Observing) 방식으로 AVPlayer의 상태값을 받아올 수 있다. KVO는 존재만 알고 있었던지라, 이번 기회에 공부를 해보았다. KVO 짧은 정리 KVO는 NSObject의 기능으로 willSet, didSet 과 유사하다고 볼 수 있음 프로퍼티의 상태 변화에 대해 '외부' 에서 옵저버를 추가할 수 있음 (willSet, didSet은 내부에서 추가 필요) 외부에서..

그동안 궁금했었던 부분들에 대해 공부하는 시간을 가져보던 중 평소 관심있었던 부분인 뮤직 플레이어를 만들어 보고 싶었다. FLO의 플레이어 뷰를 보면 기능 요구사항은 다음과 같다. - 플레이어 컨트롤 버튼 - 시간에 따른 가사 자동 스크롤 - 가사를 탭 했을 때 해당 부분으로 이동 - 음악 정보(이미지, 곡 정보 등) 사용한 프레임워크와 앱의 구조를 살펴보자 1. AVFoundation AVFoundation은 [ CoreAudio / CoreVideo / CoreMedia / CoreAnimation ] 위에 있는 프레임워크다. Core 패밀리들은 iOS 혹은 MacOS 등에서 하드웨어와 함께 Low-Level 로 동작하는 프레임워크들이고(C 기반), AVFoundation은 Core 패밀리 위에서 멀..
- Total
- Today
- Yesterday
- watch connectivity
- swift audio
- avplayer
- onTapGesture
- ios웹소켓
- swiftui 제스처
- 맥북에어 m4
- 애플워치 데이터 전송
- demical
- openapi-generator
- ios채팅
- AVFoundation
- string catalog
- audio kit
- self-hosted-runner
- easy cue
- Swift
- Xcode15
- open-api-generator
- IOS
- swiftui 탭
- SwiftUI
- DateFormatter
- ios 다국어
- swift날짜
- Github action
- audiokit
- highprioritygesture
- flo
- keyboardtype
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |