-
Notifications
You must be signed in to change notification settings - Fork 1
ASAudioKit
Sangwon edited this page Dec 1, 2024
·
5 revisions
actor ASAudioPlayer {
let audioPlayer: AVAudioPlayer?
let synthesizer: AVSpeechSynthesizer?
}
enum PlayType {
case allPlay
case play(let time)
}
func startPlaying(data: Data, option: PlayType) {}
func stopPlaying() {}
func startTTSPlaying(lyrics: String) {}
func synthesizingAudio(records: [Data]) -> Data {}
func modulatingAudio(record: Data) -> Data {}
actor ASAudioRecorder {
let recorder: AVAudioRecorder?
}
func startRecording() {}
or
func startRecording(url: URL) {}
(녹음을 담당하는 recorder 객체에 녹음 파일이 어디 저장될 지를 지정할 수 있음)
func stopRecording() -> Data {}
- 📒 기획의 과정과 의도
- 📒 swift6 도입기 ‐ @unchecked Sendable을 사용해야만 했던 이유
- 📒 WaveForm(파형) 제작기
- 📒 프로젝트 구조와 이유
- 📒 화면 전환(Game NavigationController)
- 📒 DIContainer를 사용한 계기
- 📒 AudioHelper 제작기
- 📒 음악 플레이어의 compact 버전 제작기
- 📒 Combine을 이용한 데이터 전달
- 📒 파이어베이스를 쓰며 있었던 일
- 📒 캐싱 모듈 구현과 문제점
- 📒 로그 시스템 제작기
- ❗ Data 끼리의 비교
- ❗ 프레임워크 Reference 안잡히는 문제
- ❗ actor 안에서 timer가 실행되지 않는 문제
- ❗ NSLayoutConstraint 옵셔널 문제
- ❗ 테이블 뷰가 보고 있는 배열과 bind하고 있는 배열 간의 race condition 문제
- ❗ 테스트끼리의 독립성
- ❗ 네트워크 테스팅 시 Error 핸들링
- ❗ 여러 클라이언트가 서버에 동시 요청시, 데이터가 반영이 안되는 이슈 해결
- ❗ 의존성 framework 추가시 불러오지 못하는 문제
- ❗ Timer를 6초 설정해도 더 실행되는 문제
- ❗ Music Kit Data Request 에러
- ❗ DI Container 에서 생성한 인스턴스가 동시에 존재 하는 이슈