Я сделал одно примерное приложение, в котором есть только две кнопки 1. Пуск (чтобы начать музыку) 2. Остановить (остановить музыку).MediaPlayer.pause() не работает в Moto G Turbo Edition Android 6.0
Вот мой код:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Button b1 = (Button) findViewById(R.id.button_start);
b1.setOnClickListener(this);
Button b2 = (Button) findViewById(R.id.button_stop);
b2.setOnClickListener(this);
mp = MediaPlayer
.create(getApplicationContext(), R.raw.alarm);
try {
mp.prepare();
} catch (IOException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
}
mp.setLooping(true);
mp.setVolume(0.5f,0.5f);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.button_start:
startAlarm();
break;
case R.id.button_stop:
stopAlarm();
}
}
private void stopAlarm() {
if(mp.isPlaying()) {
Log.e("XXX","Tone Paused");
mp.pause();
}
new Thread(new Runnable() {
@Override
public void run() {
while(mp.isPlaying()){
Log.e("XXX", "tone still playing ...");
}
Log.e("XXX", "Thread stopped");
}
}).start();
}
private void startAlarm() {
mp.start();
}
}
Теперь я увидел, что mp.pause() вызывается и mp.isPlaying() возвращает ложь после этого. Но музыка постоянно играет, она никогда не останавливается, пока я не выключу устройство.
Я не уверен, является ли это ошибкой orroid os или hardware. Я проверил с другими устройствами Android 6.0, но он работал нормально.
Может кто-нибудь, пожалуйста, предложите мне возможную причину этого?
Заранее благодарен!
Пожалуйста, проверьте журналы: Кнопка СТОП Прессованные: ---------------------- --------- 03-03 15: 41: 59.746 14518-14518/com.example.testmarshmallow E/XXX: Тон приостановлен ---------------- -------------------- Но в реальном тоне все еще играет. Снова нажмите кнопку STOP: ----------------------------------- 03-03 15:42: 02.010 14518-14518/com.example.testmarshmallow E/XXX: начата нить 03-03 15: 42: 02.012 14518-18325/com.example.testmarshmallow E/XXX: нить остановлена – Dharsam1990
проверить обновление ответ – sasikumar
Его работа как самого ресурса выпускается. Но мой вопрос в том, почему pause() не работает. Пожалуйста, помогите мне это выяснить. – Dharsam1990