E/MediaPlayer: 错误 (-19, 0) - 无缘无故
E/MediaPlayer: error (-19, 0) - for no reason
我已经阅读了无数关于此错误的主题,但是其中 none 遇到了与我相同的问题。
我得到
E/MediaPlayer: 错误 (-19, 0)
E/MediaPlayer: 错误 (-19,0)
错误,但是,音乐甚至不播放。在最初的几次尝试中,它运行完美,但有一次音乐完全播放,然后应用程序关闭,从那以后每次我打开应用程序时音乐 甚至没有开始,
我的代码非常简单,这是我用来测试的代码(在 main activity 的 onCreate 内部):
mp1 = MediaPlayer.create(this,R.raw.shavingmirror_bgmusic);
mp1.start();
原来的代码曾经可以工作,但现在由于某种原因不能工作(位于新的class的onCreate中,而不是在main activity中),它基本上只有一个SeekBar 和音乐的音量应根据 SeekBar 相应地上下移动:
public class settings extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener {
MediaPlayer mp;
SeekBar sb;
AudioManager am;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
sb = (SeekBar)findViewById(R.id.volumesb);
mp = MediaPlayer.create(this,R.raw.shavingmirror_bgmusic);
mp.start();
mp.setLooping(true);
am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
int max = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
sb.setMax(max);
sb.setProgress(max/2);
am.setStreamVolume(AudioManager.STREAM_MUSIC,max/2,0);
sb.setOnSeekBarChangeListener(this);
}
@Override
protected void onPause() {
super.onPause();
mp.release();
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
am.setStreamVolume(AudioManager.STREAM_MUSIC,progress,0);
}
看来问题是我没有释放mp,导致它崩溃,再也不能用了。为了解决这个问题:
- 重启模拟器。
- 向其中添加一些版本 ( mp.release(); )
希望这个问题不要重演,因为我现在每次都放出mp。如果重复出现,我会更新这个。
我已经阅读了无数关于此错误的主题,但是其中 none 遇到了与我相同的问题。
我得到
E/MediaPlayer: 错误 (-19, 0)
E/MediaPlayer: 错误 (-19,0)
错误,但是,音乐甚至不播放。在最初的几次尝试中,它运行完美,但有一次音乐完全播放,然后应用程序关闭,从那以后每次我打开应用程序时音乐 甚至没有开始,
我的代码非常简单,这是我用来测试的代码(在 main activity 的 onCreate 内部):
mp1 = MediaPlayer.create(this,R.raw.shavingmirror_bgmusic);
mp1.start();
原来的代码曾经可以工作,但现在由于某种原因不能工作(位于新的class的onCreate中,而不是在main activity中),它基本上只有一个SeekBar 和音乐的音量应根据 SeekBar 相应地上下移动:
public class settings extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener {
MediaPlayer mp;
SeekBar sb;
AudioManager am;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
sb = (SeekBar)findViewById(R.id.volumesb);
mp = MediaPlayer.create(this,R.raw.shavingmirror_bgmusic);
mp.start();
mp.setLooping(true);
am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
int max = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
sb.setMax(max);
sb.setProgress(max/2);
am.setStreamVolume(AudioManager.STREAM_MUSIC,max/2,0);
sb.setOnSeekBarChangeListener(this);
}
@Override
protected void onPause() {
super.onPause();
mp.release();
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
am.setStreamVolume(AudioManager.STREAM_MUSIC,progress,0);
}
看来问题是我没有释放mp,导致它崩溃,再也不能用了。为了解决这个问题:
- 重启模拟器。
- 向其中添加一些版本 ( mp.release(); )
希望这个问题不要重演,因为我现在每次都放出mp。如果重复出现,我会更新这个。