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 calls an audio player and provides playback of audio data from a file or memory.
Using an audio player
- Play sounds of any duration.
- Play sounds from files or memory buffers.
- Loop sounds.
- Play multiple sounds simultaneously, one sound per audio player, with precise synchronization.
- Control relative playback level, stereo positioning, and playback rate for each sound you are playing.
- Seek a particular point in a sound file, which supports such application features as fast forward and rewind.
- Obtain data you can use for playback-level metering.
Prerequisites
The steps given below are required to be followed in order to play sound 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 there, you 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.
- Button(btnPlay).
- Button(btnStop).
Step 7
In this step, add one folder and name it as Sounds.
Go to Solution—>Resource—>Right click—>Add—>New Folder. and give name (Ex:Sounds).
Step 8
In this step, add the Sound from 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 and write the code given below.
ViewController.cs
- using System;
- using AVFoundation;
- using Foundation;
- using UIKit;
- namespace XamariniOSAVAudioPlayer {
- public partial class ViewController: UIViewController {
-
- public AVAudioPlayer player;
- public float MusicVolume {
- get;
- set;
- } = 0.5 f;
- public bool MusicOn {
- get;
- set;
- } = true;
- protected ViewController(IntPtr handle): base(handle) {
-
- }
- public override void ViewDidLoad() {
- base.ViewDidLoad();
-
- }
- partial void BtnStop_TouchUpInside(UIButton sender) {
-
- player.Stop();
- }
- 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, "Song", out err);
- player.Volume = MusicVolume;
- player.FinishedPlaying += delegate {
-
- player = null;
- };
-
- player.Play();
- }
- public override void DidReceiveMemoryWarning() {
- base.DidReceiveMemoryWarning();
-
- }
- }
- }
Step 10
Now, go to Run option. Choose Debug and you will get 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 click the Play button and the sound will play successfully.
You click the Stop button and the sound will stop successfully.
Summary
This was the process of how to play sound using AVAudioPlayer in Xamarin iOS , using Xamarin Studio.