Android 使用MediaPlayer时音频播放不顺畅?
我使用了以下代码。 正在播放音频,但不流畅Android 使用MediaPlayer时音频播放不顺畅?,android,audio,Android,Audio,我使用了以下代码。 正在播放音频,但不流畅 public class MainActivity extends AppCompatActivity { MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay
public class MainActivity extends AppCompatActivity {
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.sample);
mediaPlayer.start();
}
您应该在不同的线程上使用mediaplayer,而不是UI线程。然后它将播放顺畅。添加一个
OnPreparedListener
,并使用onPrepared
方法开始播放:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.sample);
mediaPlayer.setOnPreparedListener(new OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
mp.start();
}
});
mediaPlayer.prepare();
}
发布的代码非常简单,我想如果播放不顺畅,那么可能设备再现特定声音样本的能力有限。设备功能MediaPlayer.prepare()没有问题引发IOException,处理后导致IllegalStateException仍然不平滑OK,请更新您的问题并包含此声音示例,以便其他人可以复制此“不平滑”行为。使用prepareAsync()而不是prepare()。现在可以工作了