Soru & Cevap

MediaPlayer ile ses dosyası ekleme ...

21.03.2014 - 10:16

Merhaba;

Uygulamaya ses dosyalı eklemdim, Butona basınca çalıyor ama çalmayı bitirmeden bi kere daha basınca ikisi birden çalıyor.bu sorunu nasıl düzeltirim,  basit bir kod yazar mısınız ?

168 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-4723-1425430701.jpg
ukantekin
22.03.2014 - 10:43

Merhaba Mümin, ayrıntılı bilgi için aşağıdaki linke bakmalısın.

http://alucard1990.hubpages.com/hub/How-to-Make-a-Simple-Media-Player-for-Android

package com.technegames.mymediaplayer;

 

import java.io.FileDescriptor;

import java.io.IOException;

 

import android.content.res.AssetFileDescriptor;

import android.media.MediaPlayer;

import android.media.MediaPlayer.OnCompletionListener;

 

public class Music implements OnCompletionListener{

    MediaPlayer mediaPlayer;

    boolean isPrepared = false;

     

    public Music(AssetFileDescriptor assetDescriptor){

        mediaPlayer = new MediaPlayer();

        try{

            mediaPlayer.setDataSource(assetDescriptor.getFileDescriptor(), assetDescriptor.getStartOffset(), assetDescriptor.getLength());

            mediaPlayer.prepare();

            isPrepared = true;

            mediaPlayer.setOnCompletionListener(this);

        } catch(Exception ex){

            throw new RuntimeException("Couldn't load music, uh oh!");

        }

    }

     

    public Music(FileDescriptor fileDescriptor){

        mediaPlayer = new MediaPlayer();

        try{

            mediaPlayer.setDataSource(fileDescriptor);

            mediaPlayer.prepare();

            isPrepared = true;

            mediaPlayer.setOnCompletionListener(this);

        } catch(Exception ex){

            throw new RuntimeException("Couldn't load music, uh oh!");

        }

    }

     

    public void onCompletion(MediaPlayer mediaPlayer) {

        synchronized(this){

            isPrepared = false;

        }

    }

 

    public void play() {

        if(mediaPlayer.isPlaying()){

            return;

        }

        try{

            synchronized(this){

                if(!isPrepared){

                    mediaPlayer.prepare();

                }

                mediaPlayer.start();

            }

        } catch(IllegalStateException ex){

            ex.printStackTrace();

        } catch(IOException ex){

            ex.printStackTrace();

        }

    }

 

    public void stop() {

        mediaPlayer.stop();

        synchronized(this){

            isPrepared = false;

        }

    }

     

    public void switchTracks(){

        mediaPlayer.seekTo(0);

        mediaPlayer.pause();

    }

     

    public void pause() {

        mediaPlayer.pause();

    }

 

    public boolean isPlaying() {

        return mediaPlayer.isPlaying();

    }

     

    public boolean isLooping() {

        return mediaPlayer.isLooping();

    }

     

    public void setLooping(boolean isLooping) {

        mediaPlayer.setLooping(isLooping);

    }

 

    public void setVolume(float volumeLeft, float volumeRight) {

        mediaPlayer.setVolume(volumeLeft, volumeRight);

    }

 

    public void dispose() {

        if(mediaPlayer.isPlaying()){

            stop();

        }

        mediaPlayer.release();

    }

}

http://www.tutorialspoint.com/android/android_mediaplayer.htm

picture-12600-1422605599.jpg
ahmetm
22.03.2014 - 10:21

buton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

   if(mediaPlayer.isPlaying()){
                    mediaPlayer.stop();

              }   

                   mediaPlayer.start();

            }
        });

 

      

picture-2176-1429627808.jpg
bekirdursun
21.03.2014 - 11:19

public void buton(View v){

   if(!mediaPlayer.isPlaying()){
                   mediaPlayer.start();
               }else{
                  mediaPlayer.stop();
   }

}