Skip to content Skip to sidebar Skip to footer

Implementing Beep Sounds Into Android Application

I have an application with the desired functionality. Howerver, at certain times toasts are displayed and I want a double beep to play at the same time that the toasts are displaye

Solution 1:

You can put your audio file in res/raw folder of your Project

and play audio in a thread

publicvoidplayAlertTone(final Context context){

      
    Threadt=newThread(){
            publicvoidrun(){
                MediaPlayerplayer=null;
                intcountBeep=0;
                while(countBeep<2){
                player = MediaPlayer.create(context,R.raw.beep);
                player.start();
                countBeep+=1;
                try {
                                         
                                // 100 milisecond is duration gap between two beep
                    Thread.sleep(player.getDuration()+100);
                                       player.release();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                           

                }
            }
        };

        t.start();   
        
    }

//call it like this from your activity' any methodif(myCondition){
    
    Toast.makeText(getApplicationContext(), text, duration).show();
    
    playAlertTone(getApplicationContext());
    
    
    }

Solution 2:

Use MediaPlayer,

http://developer.android.com/reference/android/media/MediaPlayer.html

There's a lot to know about how to use, which is covered in the link above. Here's a shirt snippet that illustrates the usage,

finalMediaPlayermediaPlayer=newMediaPlayer();
try {
    mediaPlayer.reset();
    mediaPlayer.setDataSource(...);
    mediaPlayer.prepare();
} catch (IllegalStateException e) {
    mediaPlayer.release();
} catch (IOException e) {
    mediaPlayer.release();
} catch (IllegalArgumentException e) {
    mediaPlayer.release();
}
mediaPlayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener() {

    publicvoidonCompletion(MediaPlayer mp) {
        mediaPlayer.release();
            }
    });
mediaPlayer.start();

Solution 3:

try {
    AssetFileDescriptorafd= getAssets().openFd("gavel_single.wav");
    mMediaplayer = newMediaPlayer();
    mMediaplayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
    afd.close();
    mMediaplayer.prepare();
    mMediaplayer.start();
    mMediaplayer.setOnCompletionListener(newOnCompletionListener() {
        publicvoidonCompletion(MediaPlayer mMediaPlayer) {
            mMediaPlayer.stop();
            mMediaPlayer.release();
        }
    });
} catch (Exception e) {
        e.printStackTrace();
}

put your music file in asset folder

Post a Comment for "Implementing Beep Sounds Into Android Application"