我知道这是一个非常普遍的问题。但是,尽管我的逻辑是正确的,但我仍然无法在我的应用程序中播放声音,但使用了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