Hello friends!! In this tutorial we are going to implement Multimedia to play Audio files.
- All we will do in this tutorial is on clicking the buttons it will play the piano sound notes .
- So follow the Steps :
- Create a new project and for example name it as Audio.
- Your MainActivity and activity_main files will be generated respectively.
- Now go to your activity_main.xml file and in your graphical Layout take 5 Buttons in series and name them as C,D…respectively and one button seperately in the layout name it play song .
- So now your activity_main.xml file graphical layout will as shown below :
- Now for each button give the following id’s and onClick method in the properties of the button as shown in the code :
- Now after adding the properties your code will look as shown below :
- Now create a new folder in your res folder and name it raw and copy your audio files in it .
- Now create an sdcard in your emulator , to create an sdcard go to window ->Android Virtual Device Manager.
- Now select your emulator and click on Edit you will get the following window :
- Set the size of the sd Card to 2048 and click on OK.
- Now go to your DDMS prespective ->File Explorer -> go to mnt -> select sdcard -> add file in sdcard, do the steps as shown in diagram :
- Now go to your MainActivity.Java and write the following code :
- Your MainActivity.Java workspace will look as shown below :
- Now go to your AndroidManifest file and specify the permissions required to push the file to the sdcard :
- Now run your application and you will get the following output :
- Now click on the respective button it will play the sound for you
- Thus we can now play AUDIO files in our application .
[code language=”xml”]<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity" >
<Button
android:id="@+id/button6"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btnE"
android:layout_marginTop="87dp"
android:layout_toLeftOf="@+id/btnF"
android:text="Play Song"
android:onClick="playLocalAudio"/>
<Button
android:id="@+id/btnC"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button6"
android:layout_alignParentLeft="true"
android:text=" C "
android:onClick = "play"/>
<Button
android:id="@+id/btnD"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="16dp"
android:layout_marginTop="60dp"
android:layout_toRightOf="@+id/btnC"
android:onClick="play"
android:text=" D " />
<Button
android:id="@+id/btnE"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnD"
android:layout_alignBottom="@+id/btnD"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@+id/btnD"
android:onClick="play"
android:text=" E " />
<Button
android:id="@+id/btnG"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button6"
android:layout_alignParentRight="true"
android:layout_marginRight="48dp"
android:onClick="play"
android:text=" G " />
<Button
android:id="@+id/btnF"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnG"
android:layout_alignBottom="@+id/btnG"
android:layout_marginRight="16dp"
android:layout_toLeftOf="@+id/btnG"
android:onClick="play"
android:text=" F " />
</RelativeLayout>
[/code]
[code language=”java”]public class MainActivity extends Activity
{
//create object for MediaPlayer as mp , local_mp :
MediaPlayer mp = null; //for playing from the /res/raw folder
MediaPlayer local_mp = null; //for playing from the sd card
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//on pressing back button
public void onStop()
{
super.onStop();
//If mp!=null then release mp and make it null so that it will stop :
if(mp!=null)
{
mp.release();
mp = null;
}
//If local_mp!=null then release local_mp and make it null so that it //will stop
if(local_mp!=null)
{
local_mp.release();
local_mp = null;
}
}
//Now onClick of the button as the onClick property is "play" it will //play the respective audio file :
public void play(View v)
{
if(mp!=null)
{
mp.release();
}
//get the respective Id’s of the button :
switch(v.getId())
{
case R.id.btnC:
mp = MediaPlayer.create(getApplicationContext(), R.raw.c);
break;
case R.id.btnD:
mp = MediaPlayer.create(getApplicationContext(), R.raw.d);
break;
case R.id.btnE:
mp = MediaPlayer.create(getApplicationContext(), R.raw.e);
break;
case R.id.btnF:
mp = MediaPlayer.create(getApplicationContext(), R.raw.f);
break;
case R.id.btnG:
mp = MediaPlayer.create(getApplicationContext(), R.raw.g);
break;
}
mp.start();
}
//the play song button’s onClick property is playLocalAudio :
public void playLocalAudio(View v)
{
if(local_mp!=null)
{
local_mp.release();
}
//set the path of the audio file in the sdcard :
String sdPath = "/mnt/sdcard/katy.mid";
local_mp = new MediaPlayer();
try
{
local_mp.setDataSource(sdPath);
local_mp.prepare();
local_mp.start(); //start the MediaPlayer
}catch (IOException e)
{
e.printStackTrace();
}
}
}
[/code]
[code language=”xml”]<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>