diff --git a/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecord.storyboard b/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecord.storyboard
index 7574ce0c..f084ecb2 100644
--- a/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecord.storyboard
+++ b/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecord.storyboard
@@ -92,6 +92,7 @@
+
diff --git a/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecordViewController.swift b/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecordViewController.swift
index cd7b045a..982b2e20 100644
--- a/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecordViewController.swift
+++ b/Yep/ViewControllers/NewFeedVoiceRecord/NewFeedVoiceRecordViewController.swift
@@ -11,6 +11,8 @@ import AVFoundation
class NewFeedVoiceRecordViewController: UIViewController {
+ @IBOutlet weak var voiceRecordSampleView: VoiceRecordSampleView!
+
@IBOutlet weak var voiceRecordButton: UIButton!
var isVoiceRecording = false {
@@ -22,10 +24,15 @@ class NewFeedVoiceRecordViewController: UIViewController {
var voiceFileURL: NSURL?
+ var displayLink: CADisplayLink!
+
override func viewDidLoad() {
super.viewDidLoad()
title = NSLocalizedString("New Voice", comment: "")
+
+ displayLink = CADisplayLink(target: self, selector: "checkVoiceRecordValue")
+ displayLink.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes)
}
// MARK: - Actions
@@ -34,6 +41,20 @@ class NewFeedVoiceRecordViewController: UIViewController {
dismissViewControllerAnimated(true, completion: nil)
}
+ func checkVoiceRecordValue() {
+
+ if let audioRecorder = YepAudioService.sharedManager.audioRecorder {
+
+ if (audioRecorder.recording) {
+ audioRecorder.updateMeters()
+ let normalizedValue = pow(10, audioRecorder.averagePowerForChannel(0)/40)
+ let value = CGFloat(normalizedValue)
+
+ voiceRecordSampleView.appendSampleValue(value)
+ }
+ }
+ }
+
@IBAction func voiceRecord(sender: UIButton) {
if isVoiceRecording {
diff --git a/Yep/Views/AudioWaves/VoiceRecordSampleView.swift b/Yep/Views/AudioWaves/VoiceRecordSampleView.swift
index 20a27e9a..f1c7f1a0 100644
--- a/Yep/Views/AudioWaves/VoiceRecordSampleView.swift
+++ b/Yep/Views/AudioWaves/VoiceRecordSampleView.swift
@@ -10,6 +10,8 @@ import UIKit
class VoiceRecordSampleView: UIView {
+ var sampleValues: [CGFloat] = []
+
lazy var sampleCollectionViewLayout: UICollectionViewFlowLayout = {
let layout = UICollectionViewFlowLayout()
layout.minimumInteritemSpacing = 0
@@ -60,6 +62,13 @@ class VoiceRecordSampleView: UIView {
NSLayoutConstraint.activateConstraints(sampleCollectionViewConstraintH)
NSLayoutConstraint.activateConstraints(sampleCollectionViewConstraintV)
}
+
+ func appendSampleValue(value: CGFloat) {
+ sampleValues.append(value)
+
+ let indexPath = NSIndexPath(forItem: sampleValues.count - 1, inSection: 0)
+ sampleCollectionView.insertItemsAtIndexPaths([indexPath])
+ }
}
extension VoiceRecordSampleView: UICollectionViewDataSource {
@@ -69,7 +78,7 @@ extension VoiceRecordSampleView: UICollectionViewDataSource {
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
- return 300
+ return sampleValues.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {