Wednesday 22 March 2017

Play Audio Video With AVFoundation in iOS Swift 3.0

OverView:-
            AVFoundation is a framework in iOS that lets you performs a video play, create, edit, or reencode media files.  AVFoundation framework that you can create play Audio and Video visual media play in swift iOS.
AVFoundatiin allow you to work on detail level with time based audiovisual data with this framework in iOS swift , you can create, edit ,analyze and re-encoded data media files in swift application , it llok like pretty basic feature set. However, with this AVFoundation framework you can do some usual things, like capture a stream   and   in real time, manipulate and play back the same capture media.

Getting Start:-
Let’s now start an your Application design;
1.     Open your xcode
2.     Create a new xcode project
3.     Chose a single View Application then
4.     Click on next button then,
5.     Give the product name as you like then
6.     Click again next button then,
7.     Save in your directory and click on the create button
8.     Now ready your empty project then,
9.     Select you device that you want run your project

 ios apps development company


Now click on the this you seen iphone 7 plus then select your simulator device you want run your project application seen like this

 iOS application development company


Now goto the project navigator and select the main.Storyboard from the project navigator
·        Now select your View Controller and goto the editor menu select the navigation controller you will see that add a navigation controller in your main.stroyboard
·        Then now select the navigation controller you will seen that your navigation controller automatically make a initial view controller
·        Let’s come on the design your view controller select the object library and search a UIButton  then drag  a four uibutton  like this



Now drag four UIButon in the view controller you can seen

Now come on the change the text name of our button in the view controller we have two option change the name of the view the button
1.     Select the button and double your button text will come on edit mode.
2.     If you have second one  option select the button and goto the attribute inspector change the text name of your button



Change the button name with as you need like this



You see on the scren shot text name button change with AudioPlayer 
·        Now ready your design for the click button paly the audio video and repeat the song and stop the song



·        Now goto the project navigator select the view controller

import AVFoundation
//MARK:- add this line below the import uikit

//Mark:- now make function to call audioplayer

func playAudio()
    {
// get random number for sound from the array
let intRandomNum = Int(arc4random_uniform(UInt32(arrAudio.count)))
// set URL of the sound
let soundURL = URL(fileURLWithPath: Bundle.main.path(forResource: arrAudio[intRandomNum], ofType: "wav")!)
do
  {
   audioPlayer = try AVAudioPlayer(contentsOf: soundURL as URL)
   audioPlayer.delegate = self
// check if audioPlayer is prepared to play audio
if (audioPlayer.prepareToPlay()){
      audioPlayer.play()
            }
        }
        catch(let error)
        {
            debugPrint(error.localizedDescription)
        }
    }

·        Now make object for audioPlayer with AVAudioPlayer() like this:

var audioPlayer = AVAudioPlayer()

// Mark:- now add delegate method
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, AVAudioPlayerDelegate
{
// Mark now make to function for stop Audio

func stopAudio()
    {
        audioPlayer.stop()
        btnPlayAudioRepeatedly.isEnabled = true
        btnStopAudio.isEnabled = false
        playAudioRepeatedly = false
    }
 // mark function for get video from the iphone and directory

func getVideos()
    {
    let imagePickerController = UIImagePickerController()
imagePickerController.sourceType = .savedPhotosAlbum
imagePickerController.mediaTypes = [kUTTypeMovie as String]
imagePickerController.delegate = self
self.present(imagePickerController, animated: true, completion: nil)
    }
}

// Now created an object for Boolean value

var playAudioRepeatedly = true

// mark:- create array for playAudio data from your mobile and simulator

let arrAudio: [String] = ["chime_bell_ding", "music_marimba_chord", "pop_drip"]

//now make two @iboutlet weak var those create a memory for outlet:-

@IBOutlet weak var btnPlayAudioRepeatedly: UIButton!
@IBOutlet weak var btnStopAudio: UIButton!

//MARK: - AVAudioPlayerDelegate Methods

func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool)
    {
        if (playAudioRepeatedly)
        {
            audioPlayer.play()
        }
    }

·       Now goto the object library and drag an AVKItPlayer View Controller


Now goto the project navigator and select the main project directory click on right open a list select the new file like this



Now create a new swift class that class will be cocoa touch class like this and click on the next button and give the class name VideoPlayerViewController and subclass should be AVPlayerViewController like this



After click next button open new window like seen this


Now create a new swift class with name will be VideoPlayerViewController import with these two libraries
import AVKit
import AVFoundation

//Mark: - now add a notification function for reachEndnotificationHandler

func playerDidReachEndNotificationHandler(notification: Notification)
    {
        print("playerDidReachEndNotification")
    }
//Mark: - this function use for load video
   
    func loadVideo(){
        videoPlayer = AVPlayer(url: videoURL)
        let playerVc = AVPlayerViewController()
        playerVc.player = videoPlayer
        NotificationCenter.default.addObserver(self, selector: #selector(playerDidReachEndNotificationHandler(notification:)), name: Notification.Name.AVPlayerItemDidPlayToEndTime, object: videoPlayer.currentItem)
        self.present(playerVc, animated: true)
        {
            playerVc.player?.play()
        }
       
    }
now do a thing that goto the click on main.storyboard select the AVKit player view controller and select the identity inspector give the class name VideoPlayerViewController and copy this class name paste the storyboard id box and Check the use storyboarb id This will work for the identifier

  Now once again goto the view controller and create a uiimageaPickerControllerDelegate method

// MARK: - UIImagePickerControllerDelegate Methods
 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]){
self.dismiss(animated: true, completion: nil)
let videoPlayerViewController = self.storyboard!.instantiateViewController(withIdentifier: "VideoPlayerViewController") as! VideoPlayerViewController videoPlayerViewController.videoURL = info[UIImagePickerControllerMediaURL] as? URL as URL!
self.navigationController!.pushViewController(videoPlayerViewController, animated: true)
    }
   

now last one thing add @ibaction for all button in the view controller 
make an action for every button  and add functionality

//MARK: - Action Methods
 @IBAction func btnPlayAudioTapped(sender: AnyObject)
    {
        playAudio()
    }
@IBAction func btnPlayVideoTapped(sender: AnyObject)
    {
        getVideos()
    }
@IBAction func btnPlayAudioRepeatedlyTapped(sender: AnyObject)
    {
        btnPlayAudioRepeatedly.isEnabled = false
        btnStopAudio.isEnabled = true
        playAudioRepeatedly = false
        playAudio()
    }
@IBAction func btnStopAudioTapped(sender: AnyObject)
    {
        stopAudio()
}

Now one important thing add a string library into a plist  because if not add this stirng  library application give the run time error
Select the info plist in the project navigator click on the add button  like this


and tap on the pulse button select the srting library this

 ios and android mobile application development company


And now last and final step connect all @iboutlet, @ibAction with view controller
·         Now run your project it will run successfully



Now click on the ok button your simulator video will be show in the list and select those you chose and play the video like this after click on the ok button



Select video click that your video play successfully


If you are, looking to Develop and design for your project then feel free to contact us at any time
Call Us- +91 9910781148, +1 8033353593
Email: company@tecorb.com
Skype- tecorb
“We maintain transparency with our customers. Our values and business ethics has given us repeated customers. We tend are proud to be a reliable outsourcing partner for many clients across the World.”

Thursday 2 March 2017

Tab Bar Controller In Swift iOS

OverView:-
The Tab Bar interface is helpful in situation where you want  to provide different perspective on the same set of data or in situation, where you want to or in situation where we want to provides your application long functional lines. The key component of a tab bar interface is the present of tab bar view along the bottom of the screen. This view is used to initiate the navigation bar  b/w your appilaction different modes and can also provide the information about the state of each mode
The manager for a tab bar interfaces is a tab bar controller objects. The tab bar controller create and manage the tab bar view and also manage the view controller that provided  the content view for each mode. Every contents of view controller is design as the view controller for one of the tabs in the tab bar view. When a tab is pressed by the user, the tab bar controller object select the tab and display the view associat with correspond content view controller .
 Tab bar controller has its own container view, which encompass all of the other views, including the tab bar view. The custom is  provided by the view controller of the selected tab.
Getting Start:-
Open a xcode  and create a new project. Use the Single View Application as starting point :-
1.      Create Single View Application and Click on  the Next button
2.      Give the Product name  and click  on the next button
3.      After that click  on the create button
After Xcode  has created the project
·         The new project consist of two classes AppDelegate , ViewController and main.storyboard file.
·         Click Main.Storyboard in the project navigator to open it in the Interface Builder editor.
·         Select the ViewController and goto Editor click on the  editor


·         Then goto the Embed in And Seclect the tab bar Controller

·         The you will see that in your project embedded a tab bar controller like this


·         In your project of the Main.Storyboard file you will see that add a new  tabbar controller and your main .Storyboard file look  like this your project inter face builder
if you want embedded  more ViewController with this tab bar controller then you select the ViewController from the object library and Drag the ViewController in the interface builder

·         Now you see that in your project have  two  ViewController in the Main.StoryBoard
·         If you want join  second ViewController with the tab bar controller then do this  Control + Drag on the secondViewController then you see a pop view like this





Then you select the view controller from this view
Now then you see after complete this job in your project  a tab bar controller connect with your secondViewController.



·         Now you can run your project but how to decide that , which View controller is first view Controller and which Second View Controller
·         Now you drag uilabel drag from the object library set in the first and second View Controller
·         You can write on this label as like for First View Controller “ This is my fist View Controller” and same as for second View Controller name “This is my second View Controller”.
·         And set label color White And you want change the view controller background color
·         then select the view Controller
·         and go to attribute inspector select  Backgroung color
·          set the background color
·         Now, run your project


Now click on the simulator second item you see  the second view Controller .


If you are, looking to Develop and design for your project then feel free to contact us at any time
Call Us- +91 9910781148, +1 8033353593
Email: company@tecorb.com
Skype- tecorb
“We maintain transparency with our customers. Our values and business ethics has given us repeated customers. We tend are proud to be a reliable outsourcing partner for many clients across the World.”