我知道這是一個非常普遍的問題。但是,儘管我的邏輯是正確的,但我仍然無法在我的應用程序中播放聲音,但使用了MediaPlayer類。目前,我在我的應用程序中具有抖動檢測功能。每當設備被震動時,它都會發出聲音。下面是我的代碼:Android MediaPlayer ::問題
public class MainActivity extends AppCompatActivity {
private SensorManager mSensorManager;
private Sensor mAccelerometer;
private ShakeDetector mShakeDetector;
private SoundManager mSoundManager;
private TextView xText;
private Context context;
private AudioPool ap;
int id1,id2;
File directory;
MediaPlayer player, mPlayer;
AudioCollective ac;
Lagu la;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xText = (TextView)findViewById(R.id.xText);
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mShakeDetector = new ShakeDetector();
la = new Lagu();
la.initLagu(MainActivity.this);
mShakeDetector.setOnShakeListener(new ShakeDetector.OnShakeListener() {
@Override
public void onShake(int count) {
la.playLagu();
xText.setText("Shake:"+count);
}
});
}
public class Lagu {
MediaPlayer mPlayer;
public Lagu(){
mPlayer = new MediaPlayer();
}
public void initLagu(Context theContext){
mPlayer.create(theContext, R.raw.na);
}
public void playLagu(){
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}
}
的問題是應用每個手機搖晃時間不播放聲音。應用程序甚至不會播放聲音。 FYI,歌曲的格式是MP3。有人請告訴我我的應用程序出了什麼問題?您的幫助將不勝感激!
檢查日誌中的警告或錯誤時,有時這些類可以在設備間表現不同。 – Pievis
嗨,日誌中沒有顯示錯誤或警告。這意味着邏輯是正確的。但我仍然不知道它爲什麼不播放聲音。 – JackPowell