я пытаюсь добавить музыку в свою игру, но она останавливается после - PullRequest
0 голосов
/ 28 марта 2019

так что я очень новичок в написании сценариев, и это мое первое приложение, которое я собрал после учебника, но теперь я хочу добавить музыку к нему, нашел небольшой код в Интернете, но музыка останавливается через 1 минуту, а музыка должна длиться 7 минут?

кто-нибудь здесь, кто может мне помочь с этим?

а также как я могу сделать цикл песни?

я получил это "MediaPlayer.setLooping (true);", но я не знаю, сработает ли это, поэтому хотел спросить сэтот вопрос тоже: p

Спасибо, уже за ваше время.

Я искал похожие вопросы и использовал эти ответы, но не сработал, или я неправильно это реализовал, поскольку я очень новичок в этом ..

Мой код.

package com.example.myapplication;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.Window;
import android.view.WindowManager;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);

    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    Constants.SCREEN_WIDTH = dm.widthPixels;
    Constants.SREEN_HEIGHT = dm.heightPixels;


    setContentView(new GamePanel(this));





    MediaPlayer Music = MediaPlayer.create(MainActivity.this,R.raw.music);
    Music.start();
    MediaPlayer.setLooping(true);
}

}

Я бы хотел, чтобы музыка воспроизводилась и продолжала ее зацикливать, останавливать ее не нужно.

1 Ответ

0 голосов
/ 29 марта 2019

Вам нужен WakeLock или фоновый сервис для воспроизведения музыки в спящем режиме. Я думаю, вы можете попытаться сохранить ваше устройство живым (нажмите экран), и музыка будет играть.

1) Wakelock. Добавить разрешение для манифеста

<uses-permission android:name="android.permission.WAKE_LOCK" />

И вызов метода Create:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);  
wakelock= pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getCanonicalName());
wakelock.acquire();

1010 * Docs *

2) Фоновая служба

* Docs 1016 *

Это намного сложнее, потому что вам нужно создавать уведомления и т. Д. Но вы можете попытаться следовать документации Android.

3) Прочитайте это doc . Вот руководство с примерами с wakelock и сервисом.

...