2017-02-13 4 views
0

Ich möchte einfach eine mp3-Datei wiedergeben, wenn ich auf eine Schaltfläche im Android Studio klicke.Sound abspielen OnClick Android

Mein Problem ist, dass mit den 2 Methoden, die ich verwende, der Sound gespielt wird, aber aus irgendeinem Grund höre ich es wie ein extrem verzerrter Super-Zeitlupenton. Wenn ich normalerweise die Datei öffne, ist es in Ordnung.

!!!!! Methode 1:

Ich erklärte:

SoundPool mySound; 
int soungId; 

ich initialisieren:

mySound = new SoundPool(1, AudioManager.STREAM_MUSIC,0); 
soungId = mySound.load(this, R.raw.asd,1); 

ist dann eine Aktion Hörer verwenden:

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     mySound.play(soungId,1,1,1,0,1); 
    } 
}); 

!!!!! METHODE 2:

Ich erkläre:

MediaPlayer mp = null; 

Ich benutze Zuhörer:

button.setOnClickListener(new View.OnClickListener(){ 

    @Override 
    public void onClick(View view) { 
     managerOfSound(); 
    } 
}); 

Mein managerOfSound mathod:

public void managerOfSound() { 
if (mp != null) { 
mp.reset(); 
mp.release(); 
} 
mp = MediaPlayer.create(this, R.raw.www); 
mp.reset(); 
mp.start(); 
} 

Antwort

-2

dies versuchen,

MediaPlayer mp = new MediaPlayer(); 

// Set data source - 
setDataSource("/sdcard/path_to_song"); 

// Play audio 
mp.start(); 

// Pause audio 
mp.pause(); 

// Reset mediaplayer 
mp.reset(); 

// Get song length duration - in milliseconds 
mp.getDuration(); 

// Get current duration - in milliseconds 
mp.getCurrentDuration(); 

// Move song to particular second - used for Forward or Backward 
mp.seekTo(positon); // position in milliseconds 

// Check if song is playing or not 
mp.isPlaying(); // returns true or false 

http://www.androidhive.info/2012/03/android-building-audio-player-tutorial/

+0

ich das verfolgt, und es verhält sich nach wie vor als – johnnyshrewd

0

es, weil der Soundpool Instanz der MaxStreams ist maximale Anzahl (maximale Anzahl gleichzeitigen Streams) kann

zu niedrig
SoundPool mySound; 
mySound = new SoundPool(10, AudioManager.STREAM_MUSIC,0); 
+0

ich versuche beschrieben nur zu streamen 1 und ich habe es versucht und leider hat es nicht funktioniert – johnnyshrewd

Verwandte Themen