커뮤니티 오디오 녹음

- 녹음시간이 3분이 되면 녹음 멈춤
This commit is contained in:
Yu Sung
2024-08-08 01:54:29 +09:00
parent 85a871693c
commit ef3494dcb1
3 changed files with 26 additions and 16 deletions

View File

@@ -24,13 +24,15 @@ class SoundManager: NSObject, ObservableObject {
var startTimer: (() -> Void)?
var stopTimer: (() -> Void)?
let audioSession = AVAudioSession.sharedInstance()
func prepareRecording() {
isLoading = true
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(.playAndRecord, mode: .default)
try audioSession.setActive(true)
audioSession.requestRecordPermission() { [weak self] allowed in
DispatchQueue.main.async {
if !allowed {
@@ -58,6 +60,9 @@ class SoundManager: NSObject, ObservableObject {
]
do {
try audioSession.setCategory(.playAndRecord, mode: .default)
try audioSession.setActive(true)
audioRecorder = try AVAudioRecorder(url: getAudioFileURL(), settings: settings)
audioRecorder.record()
@@ -91,9 +96,9 @@ class SoundManager: NSObject, ObservableObject {
isLoading = true
DispatchQueue.main.async {
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(.playback, mode: .default)
try self.audioSession.setCategory(.playAndRecord, mode: .default)
try self.audioSession.setActive(true)
if let url = url {
self.player = try AVAudioPlayer(data: Data(contentsOf: url))