mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-17 08:46:17 +10:00
Add record waver
This commit is contained in:
@@ -230,6 +230,14 @@
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
0A3E605A1ACC1035003DC853 /* Component */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0A3E60581ACC0318003DC853 /* YepWaverView.swift */,
|
||||
);
|
||||
name = Component;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0A5D83951AC5D3CD000045BF /* TabBar */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -397,7 +405,7 @@
|
||||
5099B9C51AB95111002F940B /* Rank */,
|
||||
5099B9CA1AB9A7CF002F940B /* CameraPreview */,
|
||||
503315A11AC126140008A209 /* MessageToolbar */,
|
||||
0A3E60581ACC0318003DC853 /* YepWaverView.swift */,
|
||||
0A3E605A1ACC1035003DC853 /* Component */,
|
||||
);
|
||||
name = Views;
|
||||
sourceTree = "<group>";
|
||||
|
||||
@@ -13,6 +13,8 @@ import AVFoundation
|
||||
class ConversationViewController: UIViewController {
|
||||
|
||||
var conversation: Conversation!
|
||||
|
||||
var waverView: YepWaverView!
|
||||
|
||||
lazy var messages: RLMResults = {
|
||||
return messagesInConversation(self.conversation)
|
||||
@@ -153,6 +155,22 @@ class ConversationViewController: UIViewController {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
self.waverView = YepWaverView(frame: self.view.bounds)
|
||||
|
||||
|
||||
self.waverView.waver.waverCallback = {
|
||||
|
||||
|
||||
if (YepAudioService.sharedManager.audioRecorder.recording) {
|
||||
println("Update waver")
|
||||
YepAudioService.sharedManager.audioRecorder.updateMeters()
|
||||
var normalizedValue = pow(10, YepAudioService.sharedManager.audioRecorder.averagePowerForChannel(0)/40)
|
||||
|
||||
self.waverView.waver.level = CGFloat(normalizedValue)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
messageToolbar.imageSendAction = { messageToolbar in
|
||||
|
||||
@@ -166,18 +184,18 @@ class ConversationViewController: UIViewController {
|
||||
}
|
||||
}
|
||||
|
||||
messageToolbar.voiceSendAction = { messageToolbar in
|
||||
|
||||
messageToolbar.voiceSendBeginAction = { messageToolbar in
|
||||
self.view.window?.addSubview(self.waverView)
|
||||
YepAudioService.sharedManager.beginRecord()
|
||||
}
|
||||
|
||||
messageToolbar.voiceSendCancelAction = { messageToolbar in
|
||||
|
||||
self.waverView.removeFromSuperview()
|
||||
YepAudioService.sharedManager.endRecord()
|
||||
}
|
||||
|
||||
messageToolbar.voiceSendUpAction = { messageToolbar in
|
||||
|
||||
messageToolbar.voiceSendEndAction = { messageToolbar in
|
||||
self.waverView.removeFromSuperview()
|
||||
YepAudioService.sharedManager.endRecord()
|
||||
|
||||
// s3PrivateUploadParams(failureHandler: nil) { s3UploadParams in
|
||||
|
||||
@@ -22,16 +22,18 @@ class YepWaverView: UIView {
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
|
||||
setup()
|
||||
}
|
||||
|
||||
required init(coder aDecoder: NSCoder) {
|
||||
super.init(coder: aDecoder)
|
||||
setup()
|
||||
}
|
||||
|
||||
private func setup() {
|
||||
waver = Waver(frame: CGRectMake(0, CGRectGetHeight(self.bounds)/2.0 - 50.0, CGRectGetWidth(self.bounds), 100.0))
|
||||
self.backgroundColor = UIColor(white: 1.0, alpha: 0.4)
|
||||
waver = Waver(frame: CGRectMake(0, CGRectGetHeight(self.bounds)/2.0 - 150.0, CGRectGetWidth(self.bounds), 100.0))
|
||||
self.backgroundColor = UIColor(white: 1.0, alpha: 0.9)
|
||||
self.addSubview(waver)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -51,9 +51,9 @@ class MessageToolbar: UIToolbar {
|
||||
|
||||
var imageSendAction: ((messageToolBar: MessageToolbar) -> ())?
|
||||
|
||||
var voiceSendAction: ((messageToolBar: MessageToolbar) -> ())?
|
||||
var voiceSendBeginAction: ((messageToolBar: MessageToolbar) -> ())?
|
||||
|
||||
var voiceSendUpAction: ((messageToolBar: MessageToolbar) -> ())?
|
||||
var voiceSendEndAction: ((messageToolBar: MessageToolbar) -> ())?
|
||||
|
||||
var voiceSendCancelAction: ((messageToolBar: MessageToolbar) -> ())?
|
||||
|
||||
@@ -218,13 +218,13 @@ class MessageToolbar: UIToolbar {
|
||||
}
|
||||
|
||||
func trySendVoiceMessageBegin() {
|
||||
if let textSendAction = voiceSendAction {
|
||||
if let textSendAction = voiceSendBeginAction {
|
||||
textSendAction(messageToolBar: self)
|
||||
}
|
||||
}
|
||||
|
||||
func trySendVoiceMessageEnd() {
|
||||
if let textSendAction = voiceSendUpAction {
|
||||
if let textSendAction = voiceSendEndAction {
|
||||
textSendAction(messageToolBar: self)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user