Delpin Susai Raj Wednesday 13 September 2017

Volume Control Using AVAudioPlayer in Xamarin iOS

In this article, you will learn how to Control Volume Using AVAudioPlayer in Xamarin iOS, using Xamarin Studio.


Introduction

Xamarin is a platform to develop cross-platform and multi-platform apps (for example, Windows phone, Android, iOS). In Xamarin platform, the code sharing concept is used. In Xamarin Studio, Visual Studio is also available.

AVAudioPlayer

AVAudioPlayer class called an audio player, provides playback of audio data from a file or memory.

Browse Code Here

AVAudioPlayer



Using an AVAudioPlayer


  1. Play sounds of any duration.
  2. Play sounds from files or memory buffers.
  3. Loop sounds.
  4. Play multiple sounds simultaneously, one sound per audio player, with precise synchronization.
  5. Control relative playback level, stereo positioning, and playback rate for each sound you are playing.
  6. Seek to a particular point in a sound file, which supports such application features as fast forward and rewind.
  7. Obtain data you can use for playback-level metering.


Prerequisites


  • Xamarin Studio.
  • Xcode.


The steps given below are required to be followed in order to Control Volume Using AVAudioPlayer in Xamarin iOS, using Xamarin Studio.

Step 1

Go To Xamarin Studio.

Click New Solution—> select iOS—>select App--> Choose single View App. Afterwards, click Next.



Step 2

In this step, configure your app. Give the app name (Ex:sample), Organization Identifier. Afterwards, click Next.



Step 3

In this step, give your project name (Ex: Sample) and solution name (Ex: Sample). Give the path of your project. Afterwards, click Create.



Step 4

Subsequently, go to the solution. In the solution, get all the files and sources in your project. Now, select Main.storyboard and double click to open Main.storyboard page.



Step 5

After opening the Main.storyboard, you can design this page, as per your desire.



Step 6

In this step design your app.using storyboard, Toolbox and Properties.


  1. Slider(volumeControlSlider).
  2. Label(lblVolume)
  3. Button(btnPlay).




Step 7

In this step add one Folder it’s name called Sounds.

Go to Solution—>Resource—>Right click—>Add—>New Folder. and give name (Ex:Sounds).



Step 8

In this step, add the Sound form your Local system.

Go to Solution—>Resource-->Right click-->Add-->Add Files.Now, you can choose the required sound. Click open.

Next, choose Copy the Files to the directory. Afterwards, click Ok.



Step 9


In this step, go to the ViewController.cs page. write the code given below.

ViewController.cs


using System;
using AVFoundation;
using Foundation;
using UIKit;

namespace XamariniOSVolumeControl
{
 public partial class ViewController : UIViewController
 {
  public AVAudioPlayer player;
  public float MusicVolume { get; set; } = 0;
  public bool MusicOn { get; set; } = true;
  protected ViewController(IntPtr handle) : base(handle)
  {
   // Note: this .ctor should not contain any initialization logic.
  }
  public override void ViewDidLoad()
  {
   base.ViewDidLoad();
   volumeControlSlider.MaxValue = 10;
   volumeControlSlider.MinValue = 0;
   volumeControlSlider.ValueChanged += (sender, e) => {
    MusicVolume = volumeControlSlider.Value;
    lblVoume.Text =Math.Round( volumeControlSlider.Value).ToString();
   };
  }
  partial void BtnPlay_TouchUpInside(UIButton sender)
  {
   PlayMusic();
  }
  public void PlayMusic()
  {
   NSUrl songURL;
   if (!MusicOn) return;

   songURL = new NSUrl("Sounds/song.mp3");
   NSError err;
   player = new AVAudioPlayer(songURL, "mp3", out err);
   player.Volume = MusicVolume;
   player.FinishedPlaying += delegate
   {
    player = null;
   };

   player.Play();
  }

  public override void DidReceiveMemoryWarning()
  {
   base.DidReceiveMemoryWarning();
   // Release any cached data, images, etc that aren't in use.
  }
 }
}






Step 10

Now, go to Run option , choose Debug and the list of iPhone and iPad simulators, which are available. You can choose any one simulator and run it.



Output

After a few seconds, the app will start running on your iPhone simulator.You will see your app working successfully.



You can slide to control volume, it will be work successfully.

Summary

This was the process of how to Control Volume Using AVAudioPlayer in Xamarin ios , using Xamarin Studio.


No comments:

Post a Comment