Форум программистов, компьютерный форум, киберфорум
Наши страницы

Повторное воспроизведение музыки после кнопки home (media-player) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как ведется работа со стереозвуком ? http://www.cyberforum.ru/android-dev/thread940812.html
Точнее как можно управлять этим? Например поток с одного аудиофайла в одни уши, поток с другим аудиофайлом в другие уши. Буду признателен за кусок кода отвечаеющий за это.
Программирование Android Xuggler в Android hello i try to merge audi and video file with xuggler in android .i have LogCat Error. this is a my Error and i do not know how i solve it http://b.pix.ge:81/s/ogvyy.jpg и это мой код public... http://www.cyberforum.ru/android-dev/thread940809.html
Программирование Android Экспорт приложения для запуска на устройстве
Хочу попробовать запустить приложение на устройстве, но после создания *.apk файла и копирования его в телефон, устройство его просто не видит. С чем это может быть связано и может быть я не...
Программирование Android Запись файла не могу разобраться
Проблема в следующем: с одного аппарата на другой передаю через bluetooth xml файл, вроде что то в поток передается из потока читается и пишется, но немогу понять что. Т.к. посмотреть его не знаю как...
Программирование Android Как заставить работать второй текстурноый блок для комбайнов? http://www.cyberforum.ru/android-dev/thread940634.html
Использую ES1.1. Написал эффект для комбайнов. Использую два текстурных блока. На экрвне правильный результат работы нулевого текстурного блока (GL_TEXTURE0). Одинаковый результат и в эмуляторе и на...
Программирование Android Программная работа с экраном блокировки Здравствуйте, такой вопрос: как происходит работа с экраном блокировки. ТЕ мне нужно написать сервис, который будет следить за экраном блокировки, например: вы ввели не правильно три раза пароль... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
22.08.2013, 16:14  [ТС]
Wenceslaus,
Общий_класс для_музыки_и_звука
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
static abstract class Audio implements IPlayable
    {
        public MediaPlayer mediaPlayer;
        public float volume = 0f;
        public int resourceId;
        
        public Audio()
        {
            
        }
        
        public Audio(int id)
        {
            resourceId = id;
            mediaPlayer = MediaPlayer.create(ZGame.context, id);
        }
        
        public Audio(Audio d)
        {
            resourceId = d.resourceId;
            mediaPlayer = MediaPlayer.create(ZGame.context, d.resourceId);
            volume = d.volume;
        }
        
        public void set(int id, int _volume)
        {
            resourceId = id;
            mediaPlayer = MediaPlayer.create(ZGame.context, id);
            volume = GetVolumeFloat(_volume);
        }
        
        public void setVolume(int _volume)
        {
            volume = GetVolumeFloat(_volume);
        }
        
        public boolean isPlaying()
        {
            return mediaPlayer.isPlaying();
        }
        
        @Override
        public void stop()
        {
            mediaPlayer.stop();
        }
 
        @Override
        public void resume() 
        {
            mediaPlayer.start();    
        }
 
        @Override
        public void pause() 
        {
            mediaPlayer.pause();
        }
    }

start()_музыки
Java
1
2
3
4
5
6
7
@Override
        public void start() 
        {
            mediaPlayer.setLooping(true);
            mediaPlayer.setVolume(volume, volume);
            mediaPlayer.start();
        }

start()_звука
Java
1
2
3
4
5
6
@Override
        public void start() 
        {
            mediaPlayer.setVolume(volume, volume);
            mediaPlayer.start();
        }

Звуки, как уже сказал, не останавливаю вообще. По истечению времени (MediaPlayer.isPlaying == false) просто Sound-объект устанавливаю в null. Даже release() не делаю.
С музыкой:
onResume()_onPause()_activity
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public void onResume() 
    {
        level.map.sequencerData.music.resume();
        updateLock.release();
        Graphics.OnResume();
    }
 
    public void onPause() 
    {
        try 
        {
            level.map.sequencerData.music.pause();
            updateLock.acquire();
            Graphics.OnPause();
        } 
        catch (InterruptedException e) 
        {
            e.printStackTrace();
        }
    }

По факту, в onCreate() у меня ещё создается отдельный поток, в котором вызывается:
Java
1
level.map.sequencerData.music.start();
+ ещё и по onResume() вызывается Audio.resume(), который на самом деле вызывает MP.start() (был в шоке, когда увидел, что чтобы продолжить, надо тот же MP.start() вызывать), но, как я понял, это ничего плохого не делает, и MP.start() сам внутри проверяет isPlaying()-ли дорожка или нет

А по поводу второго моего вопроса.. Просто у меня уничтожался объект с MediaPlayer'ом, а я то думал, почему звук внезапно перестает проигрываться Спасибо.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru