我想创建 Activity 背景音乐,但 MediaPlayer 不重复播放:(
为什么我的 MediaPlayer 没有循环?

有我的代码:

MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.tersetetete);

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setVolume(8f, 8f);
    mediaPlayer.setLooping(true);

    mediaPlayer = MediaPlayer.create(this, R.raw.fon);
    mediaPlayer.start();
}

最佳答案

mediaPlayer = new MediaPlayer(); 替换为您在下面编写的 mediaPlayer = MediaPlayer.create(this, R.raw.fon); 行。

您遇到了问题,因为 new MediaPlayer(); 创建了一个新的 MediaPlayer 对象,您可以在该对象上设置 Volume 和 Looping 属性,但之后您使用 MediaPlayer.create(this, R.raw.fon); 创建了一个新对象,然后播放由该新对象表示的声音,该对象没有任何looping 属性设置为 true 也没有任何音量 8f 8f。

这是您可以使用的完整代码:

MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.tersetetete);

    mediaPlayer = MediaPlayer.create(this, R.raw.fon);
    mediaPlayer.setVolume(.8f, .8f);
    mediaPlayer.setLooping(true);
    mediaPlayer.start();
}

10-07 20:05
查看更多