diff --git a/README.md b/README.md
index e8b2243..d28e9e9 100644
--- a/README.md
+++ b/README.md
@@ -18,3 +18,5 @@ TechMuzzJsonParser
![Final App Screenshot](/screenshots/final1.png?raw=true "Table cells with thumbnails")
![Final App Screenshot](/screenshots/final2.png?raw=true "Track detail view")
+
+![Final App Screenshot](/screenshots/final2.png?raw=true "Audio Player button")
diff --git a/TechMuzzJsonParser/AudioVC.swift b/TechMuzzJsonParser/AudioVC.swift
index fdc4bd9..e9bce3a 100644
--- a/TechMuzzJsonParser/AudioVC.swift
+++ b/TechMuzzJsonParser/AudioVC.swift
@@ -8,11 +8,13 @@
import Foundation
import UIKit
+import AVFoundation
class AudioVC : UIViewController {
var image = UIImage()
var mainSongTitle = String()
+ var previewUrl = String()
@IBOutlet var background: UIImageView!
@@ -20,10 +22,79 @@ class AudioVC : UIViewController {
@IBOutlet var songTitle: UILabel!
+ @IBOutlet var playPauseButton: UIButton!
+
override func viewDidLoad() {
songTitle.text = mainSongTitle
background.image = image
mainImageView.image = image
+ playPauseButton.setTitle("Pause", for: .normal)
+ playPauseButton.isHidden = false
+ if previewUrl != "" {
+ downloadFileFromUrl(url: URL(string: previewUrl)!)
+ } else {
+ playPauseButton.isHidden = true
+ self.showToast(message: "No Preview URL...")
+ }
+ }
+
+ func downloadFileFromUrl(url: URL) {
+ var downloadTask = URLSessionDownloadTask()
+ downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: {
+ customURL, response, error in
+ self.play(url: customURL!)
+ })
+ downloadTask.resume()
+ }
+
+ func play(url : URL) {
+ do {
+ player = try AVAudioPlayer(contentsOf: url)
+ player.prepareToPlay()
+ player.play()
+ }
+ catch {
+ print(error)
+ }
+
+ }
+
+ @IBAction func playPause(_ sender: Any) {
+ if player.isPlaying {
+ player.pause()
+ playPauseButton.setTitle("Play", for: .normal)
+ } else {
+ player.play()
+ playPauseButton.setTitle("Pause", for: .normal)
+ }
}
+
+ override func viewWillDisappear(_ animated : Bool) {
+ super.viewWillDisappear(animated)
+
+ if (self.isMovingFromParentViewController){
+ player.pause()
+ }
+ }
+
+ func showToast(message : String) {
+
+ let toastLabel = UILabel(frame: CGRect(x: self.view.frame.size.width/2 - 75, y: self.view.frame.size.height-100, width: 150, height: 35))
+ toastLabel.backgroundColor = UIColor.black.withAlphaComponent(0.6)
+ toastLabel.textColor = UIColor.white
+ toastLabel.textAlignment = .center;
+ toastLabel.font = UIFont(name: "Montserrat-Light", size: 12.0)
+ toastLabel.text = message
+ toastLabel.alpha = 1.0
+ toastLabel.layer.cornerRadius = 10;
+ toastLabel.clipsToBounds = true
+ self.view.addSubview(toastLabel)
+ UIView.animate(withDuration: 4.0, delay: 0.1, options: .curveEaseOut, animations: {
+ toastLabel.alpha = 0.0
+ }, completion: {(isCompleted) in
+ toastLabel.removeFromSuperview()
+ })
+ }
+
}
diff --git a/TechMuzzJsonParser/Base.lproj/Main.storyboard b/TechMuzzJsonParser/Base.lproj/Main.storyboard
index 170d122..1c13a74 100644
--- a/TechMuzzJsonParser/Base.lproj/Main.storyboard
+++ b/TechMuzzJsonParser/Base.lproj/Main.storyboard
@@ -30,7 +30,6 @@
-
@@ -41,7 +40,7 @@
-
+
@@ -78,6 +77,7 @@
+
@@ -117,6 +117,14 @@
+
@@ -145,6 +153,7 @@
+
diff --git a/TechMuzzJsonParser/ViewController.swift b/TechMuzzJsonParser/ViewController.swift
index 5765f7b..378cdde 100644
--- a/TechMuzzJsonParser/ViewController.swift
+++ b/TechMuzzJsonParser/ViewController.swift
@@ -8,10 +8,14 @@
import UIKit
import Alamofire
+import AVFoundation
+
+var player = AVAudioPlayer()
struct Post {
let mainImage : UIImage!
let name : String!
+ let previewUrl : String!
}
class TableViewController: UITableViewController {
@@ -46,6 +50,7 @@ class TableViewController: UITableViewController {
for i in 0..