Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
4 / 4 / 0
Регистрация: 24.07.2013
Сообщений: 80

Борьба с фоновой музыкой

30.07.2013, 18:56. Показов 1394. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Моя задача - добавить в игру фоновую музыку.
Пробовала Фоновая музыка в приложении так и http://stackoverflow.com/quest... background так (то, что в ответах). В первом случае - не играет. Во втором долго пробовала, но:
1)либо лажа с наложением музыки
2)либо не перестаёт играть при выходе из игры
3)либо приложение выкидывает при нажатии в не первой активити на "назад", плюс не нравится среде нулевой аргумент в строке
Java
1
 mBackgroundSound.execute(null);
Помогите разобраться по-человечески, как же всё-таки должна вписываться музыка в приложение. Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2013, 18:56
Ответы с готовыми решениями:

Проблемы с ImageView и фоновой музыкой
Здравствуйте, форумчане. Занимаюсь написанием игры.. Вообще, это мой первый опыт написания под андроид)) Но приходится вертеться. Итак,...

помогите плиз. рисунок "часы с кукушкой" и фоновой музыкой
помогините пожалуйста. сам не разбираюсь в этом. у подруги курсовая. нужно сделать чтобы показывались часы. домик с кукушкой. на циферблате...

Управление музыкой в вк
Добрый день. Незнаю в правильной ветке задал вопрос или нет. Имееются наушники с кнопкой (для перекл музыки на андроиде и ответов на...

4
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
30.07.2013, 19:18
1)я использовал MediaPlayer и не замечал лаж с наложением
2)есть метод stop()
0
4 / 4 / 0
Регистрация: 24.07.2013
Сообщений: 80
31.07.2013, 10:02  [ТС]
Можно попросить Вас поподробнее рассказать, если Вам не сложно? Плюс есть желание реализовать это в отдельном классе, чтобы обращаться из всех активити (шикарно, если Вы так и имели в виду).
0
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
31.07.2013, 13:48
я делал так:


Кликните здесь для просмотра всего текста

в Sound храниться вся инфа о нашей музыке ну и проигрывает ее
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
public class Sound {
 
    private MediaPlayer mediaPlayer;
    private Context context;
    private HashMap<Wave, Integer> sounds = new HashMap<Wave, Integer>();
 
    public Sound(Context context) {
        this.context = context;
        sounds.put(Wave.eatFruit, R.raw.eatfruit);
        sounds.put(Wave.menuSound, R.raw.pacman_song2);
        sounds.put(Wave.chomp, R.raw.pacman_coinin);
        sounds.put(Wave.beginning, R.raw.beginning);
        sounds.put(Wave.death, R.raw.death);
        sounds.put(Wave.eatSpirit, R.raw.eatspirit);
        sounds.put(Wave.sirenSound, R.raw.sirensound);
    }
 
    @SuppressWarnings("static-access")
    public void play(Wave wave, boolean looping, boolean isSound) {
        if (isSound) {
            mediaPlayer = mediaPlayer.create(context, sounds.get(wave));
            mediaPlayer.setLooping(looping);
            mediaPlayer.start();
        }
    }
 
    public void stop() {
        if (mediaPlayer != null) {
            mediaPlayer.setLooping(false);
            mediaPlayer.stop();
        }
    }
 
}
и контроллер


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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
public class SoundController {
 
 
    private Sound sound;
    private Sound backgroundSound;
    private Sound menu;
    private boolean isSound;
    private Context context;
    
 
   
    public SoundController(Context context , boolean isSound) {
        this.context = context;
        this.isSound = isSound;
        sound = new Sound(context);
    }
    
    public void playBackground(){
        if(backgroundSound == null){
            backgroundSound = new Sound(context);
            backgroundSound.play(Wave.sirenSound, true, true);
        }
    }
        
    private void eatPoint(World world){
        if(world.eatPoint()){
            sound.play(Wave.chomp, false, isSound); 
        }
    }
    
    private void eatBonus(World world) {
        if (world.eatBonus()) {
            sound.play(Wave.eatFruit, false, isSound);
        }
    }
    
    private void collisionNPC(World world) {
        if (world.deadPlayer()) {
            sound.play(Wave.death, false, isSound);
        }
        if (world.deadSpirit()) {
            sound.play(Wave.eatSpirit, false, isSound);
        }
    }
 
    public void play(World world){
        eatPoint(world);
        eatBonus(world);
        collisionNPC(world);
    }
    
    public void stop() {
        if (backgroundSound != null) {
            backgroundSound.stop();
            backgroundSound = null;
        }
        if (sound != null) {
            sound.stop();
        }
        if (menu != null){
            menu.stop();
            menu = null;
            }
    }
    
    public void playMenu(){
        if(menu == null){
        menu = new Sound(context);
        menu.play(Wave.menuSound, true, isSound);
        }
    }
    
    public void setSound(boolean isSound){
        this.isSound = isSound;
    }
    
    public boolean getSound(){
        return isSound;
    }
}

в первом контроллере создавал SoundController и далее передавал его всем нужным классам, при смене екрана просто вызывал метод stop в контролере который останавливал все звуковые потоки
1
4 / 4 / 0
Регистрация: 24.07.2013
Сообщений: 80
31.07.2013, 13:52  [ТС]
Спасибо, будем пробовать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.07.2013, 13:52
Помогаю со студенческими работами здесь

Музыкой навеяло
Вот простенькая мелодия https://www.cyberforum.ru/discrete-mathematics/thread1361794.html Типа чижика.:) А вот такая задачка в тему. На...

Диск с музыкой
Друзья, подскажите пожалуйста, я записываю музыку через nero express, там все есть, все настроено как надо, но записывает только 80 минут...

Скрипт с музыкой из ВК
Здравствуйте. Ранее встречал скрипт (cms), который по API по моему привязывается к ВК и вся музыка из Вк доступна для онлайн прослушивания...

мотоцикл с музыкой
слушайте ребят мне 15 лет у меня есть мотоцикл ирбит м - 72 он как известно 6 вольт но так как движок перебирал сам и глушитель поставил от...

Взаимодействие с музыкой в группах ВК
Доброго времени увожаемые прогеры и около того. Собственно, интересует вопрос, возможно ли реализовать музыкальные дорожки непосредственно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru