MediaPlayer没有循环播放

Amo*_*mov 4 android android-mediaplayer

我想创建活动背景音乐,但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();
}
Run Code Online (Sandbox Code Playgroud)

sti*_*ike 6

呼叫

 mediaPlayer.setLooping(true);
Run Code Online (Sandbox Code Playgroud)

    mediaPlayer.start(); 
Run Code Online (Sandbox Code Playgroud)

  • 你怎么知道的? (6认同)

Voi*_*icu 5

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

您遇到问题是因为new MediaPlayer();创建了一个新MediaPlayer对象,并在该对象上设置了Volume和Looping属性,但是之后您要创建一个新对象,MediaPlayer.create(this, R.raw.fon);然后播放没有设置任何Looping属性的该新对象表示的声音不能为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();
}
Run Code Online (Sandbox Code Playgroud)