Android Listview и медиаплеер - PullRequest
1 голос
/ 12 июля 2011

У меня в настоящее время есть listview, и когда вы нажимаете на элемент, он переносит вас в новое окно и начинает воспроизведение песни, связанной с этим position. Проблема в том, что когда я нажимаю кнопку «Назад», чтобы вернуться к listview, и я нажимаю тот же элемент, музыка начинает воспроизводиться снова, поверх того, что уже воспроизводится. Есть ли способ исправить это, чтобы при нажатии на тот же элемент и воспроизведение этой песни она не воспроизводилась? Спасибо

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

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

Другое, что вы можете сделать, это добавить функцию, которая останавливает музыку при вызове методов onPause или onStop.Тогда неактивные программы воспроизведения музыки будут уничтожены операционной системой Android в свое время, и вам не придется беспокоиться о воспроизведении нескольких музыкальных файлов.Недостатком этого метода является то, что музыка будет воспроизводиться только тогда, когда новое окно будет видно.Если вы измените окно, оно остановится, потому что будет вызван метод onPause или onStop.Если вы хотите, чтобы музыка играла в фоновом режиме, я думаю, вам нужно использовать технику обслуживания.

Чтобы запустить службу, вы можете связать ее с намерением или использовать метод startService.

Например, в приведенной выше статье служба запускается здесь:

public class MusicDroid extends ListActivity {
    public static final String MEDIA_PATH = new String("/sdcard/");
    private List<String> songs = new ArrayList<String>();
    private MDSInterface mpInterface;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.songlist);
        this.bindService(new Intent(MusicDroid.this,MDService.class),
            null, mConnection, Context.BIND_AUTO_CREATE); // <- starting service by creating a binding.
    }
}

Официальная страница API служб Android api должна дать вам хороший обзор того, какиметь дело с услугами.

0 голосов
/ 12 июля 2011

Вам нужно использовать сервис , чтобы музыка работала в фоновом режиме.

...