커뮤니티 오디오 녹음
- 녹음시간이 3분이 되면 녹음 멈춤
This commit is contained in:
@@ -7,15 +7,9 @@
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct CreatorCommunityRecordingVoiceView: View {
|
||||
enum RecordMode {
|
||||
case RECORD, PLAY
|
||||
}
|
||||
|
||||
struct CreatorCommunityRecordingVoiceView: View {
|
||||
@StateObject var soundManager = CreatorCommunitySoundManager()
|
||||
|
||||
@State var recordMode = RecordMode.RECORD
|
||||
|
||||
@Binding var isShowing: Bool
|
||||
@Binding var isShowPopup: Bool
|
||||
@Binding var errorMessage: String
|
||||
@@ -57,7 +51,7 @@ struct CreatorCommunityRecordingVoiceView: View {
|
||||
.foregroundColor(.white)
|
||||
.padding(.top, 80)
|
||||
|
||||
switch recordMode {
|
||||
switch soundManager.recordMode {
|
||||
case .RECORD:
|
||||
if !soundManager.isLoading {
|
||||
Image(soundManager.isRecording ? "ic_record_stop" : "ic_record")
|
||||
@@ -71,7 +65,7 @@ struct CreatorCommunityRecordingVoiceView: View {
|
||||
soundManager.startRecording(tempFileName)
|
||||
} else {
|
||||
soundManager.stopRecording()
|
||||
recordMode = .PLAY
|
||||
soundManager.recordMode = .PLAY
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,12 +106,12 @@ struct CreatorCommunityRecordingVoiceView: View {
|
||||
.onTapGesture {
|
||||
soundManager.stopAudio()
|
||||
soundManager.deleteAudioFile()
|
||||
recordMode = .RECORD
|
||||
soundManager.recordMode = .RECORD
|
||||
}
|
||||
|
||||
Spacer()
|
||||
}
|
||||
.padding(.top, 80)
|
||||
.padding(.vertical, 52.3)
|
||||
|
||||
HStack(spacing: 13.3) {
|
||||
Text("다시 녹음")
|
||||
@@ -133,7 +127,7 @@ struct CreatorCommunityRecordingVoiceView: View {
|
||||
.onTapGesture {
|
||||
soundManager.stopAudio()
|
||||
soundManager.deleteAudioFile()
|
||||
recordMode = .RECORD
|
||||
soundManager.recordMode = .RECORD
|
||||
}
|
||||
|
||||
Text("녹음완료")
|
||||
@@ -154,7 +148,7 @@ struct CreatorCommunityRecordingVoiceView: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.vertical, 40)
|
||||
.padding(.bottom, 40)
|
||||
.padding(.horizontal, 13.3)
|
||||
}
|
||||
}
|
||||
|
@@ -10,6 +10,12 @@ import AVKit
|
||||
import Combine
|
||||
|
||||
class CreatorCommunitySoundManager: NSObject, ObservableObject {
|
||||
enum RecordMode {
|
||||
case RECORD, PLAY
|
||||
}
|
||||
|
||||
@Published var recordMode = RecordMode.RECORD
|
||||
|
||||
@Published var errorMessage = ""
|
||||
@Published var isShowPopup = false
|
||||
@Published var isLoading = false
|
||||
@@ -176,6 +182,11 @@ class CreatorCommunitySoundManager: NSObject, ObservableObject {
|
||||
let centiseconds = Int((elapsedTime - Double(minutes * 60) - Double(seconds)) * 100)
|
||||
|
||||
timeString = String(format: "%02d:%02d.%02d", minutes, seconds, centiseconds)
|
||||
|
||||
if minutes >= 3 {
|
||||
stopRecording()
|
||||
recordMode = .PLAY
|
||||
}
|
||||
}
|
||||
|
||||
deinit {
|
||||
|
Reference in New Issue
Block a user