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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Хмырь
-1 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 42
Завершенные тесты: 1
#1

Воспроизведение рандомной песни при нажатии на картинку - Программирование Android

04.02.2016, 12:30. Просмотров 496. Ответов 9
Метки нет (Все метки)

вот как это сделать,имея такой код,да еще и когда музыка обрывается через 4 секунды? советовали использовать media.player а не soundpool для долгих звуков так как sound pool для коротких звуков,но я не знаю и не понимаю как переделывать код для него,так как полный ноль в java,помогите пожалуйста )))))

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
package com.alex.myapplication;
 
import android.support.v7.app.AppCompatActivity;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
 
public class MainActivity extends AppCompatActivity {
 
    private SoundPool mSound;
    private int mMelody=1;
    private int mPlay;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mSound = new SoundPool(1, AudioManager.STREAM_MUSIC,0);
        mSound.load(this, R.raw.music1, 1);
 
    }
 
    public void Play(View view) {
        AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
        mPlay = mSound.play(mMelody,1,1,1,0,1);
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2016, 12:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Воспроизведение рандомной песни при нажатии на картинку (Программирование Android):

Открытие рандомной страницы, при нажатии на кнопку - PHP
Добрый день, необходимо что бы на сайте при нажатии на кнопку 'начать', рандомно открывался 1 из 3 каталогов с index.php. Как это...

Как при нажатии одного радиобаттона показать одну картинку, а при нажатии другого другую - Visual Basic .NET
Как сделать так, чтобы при нажатие одного радиобаттона появлялась одна картинка, а при нажатие другого другая, подскажите.

код для воспроизведения определенной песни при нажатии левой кнопки мышки. - JavaScript
помогите пожалуйста написать код для воспроизведения определенной песни при нажатии левой кнопки мышки.!

Воспроизведение звука при нажатии на клавиши, при работе программы в фоновом режиме - Visual Basic .NET
Нужно написать программу, воспроизводящую звук при нажатии на любую клавишу. Только нужно что бы программа работала в фоновом режиме, т.е....

Воспроизведение звука при нажатии button - Visual C++
Подскажите, пожалуйста, код, когда при нажатии button воспроизводится нужный мне звуковой файл (Visual 2008, MFC, на базе блока диалога)

Воспроизведение аудио при нажатии на кнопку - Visual Basic
Всем привет! Программирование начал осваивать недавно. Мне посоветовали начать с VisualBasic 6.0, а затем перейти к более сложным языкам...

9
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
04.02.2016, 12:43 #2
Вот про MediaPlayer почитай.

Не по теме:


Бесполезно лезть в android не зная java. ИМХО.

0
Хмырь
-1 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 42
Завершенные тесты: 1
04.02.2016, 13:31  [ТС] #3
Я читал все статьи про MediaPlayer,но в основном они или повторяются или не совсем вписываются в мою идею,там на уроках разбирают аж плеер,с тремя или более функциями,когда мне всего напросто нужна рандомная песня (для себя делаю),которая будет проигрываться при клике на картинку,если бы я хотел плеер с проигрыванием песен или паузой,я бы не заморачивался с этим и скачал себе плеер,накидав туда своей музыки: ))))))

Цитата Сообщение от Mikalai Посмотреть сообщение
Бесполезно лезть в android не зная java. ИМХО.
а никто и не спорит,но в чем смысл тогда этого форума если не помогать другим и сетовать чтоб валили учить Java,а не копаться в андроиде ?
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
04.02.2016, 15:04 #4
Хмырь,
тут надо две проблемы решить
1) как послушать файл с помощью MediaPlayer
2) как имея список рандомно выбирать из него файл
3) как заменить кнопку из примера на картинку и повесить на нее слушателя
на первую часть вам уже ответили
достаточно скопировать готовый проект (то что там пауза есть непонятно чем мешает)
по второй части
список файлов типа R.raw.music1 имеется или вы из папки хотите рандомно проигрывать?
0
Хмырь
-1 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 42
Завершенные тесты: 1
12.02.2016, 16:43  [ТС] #5
первый и третий пункт уже решен а вот со вторым пунктом до сих пор морока, не могу найти уроки по рандомному выводу песни.

а песни воспроизводятся у меня из папки raw
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.02.2016, 16:55 #6
Хмырь, список то как хранится? ArrayList? Если да то очень просто:
Java
1
2
3
4
5
List<Integer> sounds = ...;//Список песен
Random random = new Random();
int sound = sounds.get(random.nextInt(sounds.size));
MediaPlayer player = MediaPlayer.create(this, sound);
mediaPlayer.start();
0
Хмырь
-1 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 42
Завершенные тесты: 1
12.02.2016, 17:41  [ТС] #7
вроде не хранится, а как его создать ?
0
chizz
981 / 496 / 54
Регистрация: 19.03.2013
Сообщений: 3,091
Записей в блоге: 18
Завершенные тесты: 1
12.02.2016, 17:50 #8
Хмырь, переименуй файлы в raw в 1,2,3,4... и рандомно вызывай
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
12.02.2016, 18:02 #9
Цитата Сообщение от Хмырь Посмотреть сообщение
вроде не хранится, а как его создать ?
Java
1
2
3
4
List<Integer> sounds = new ArrayList<>();
sounds.add(R.raw.music1);
sounds.add(R.raw.music2);
...
1
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
15.02.2016, 10:23 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Весь код активити, чтобы воспроизводился рандомный трек при нажатии на кнопку.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class MainActivity extends AppCompatActivity {
 
 private List<Integer> mTracks;
 private Random mRandom = new Random();
 
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTracks = new ArrayList<>();
        mTracks.add(R.raw.track1);
        mTracks.add(R.raw.track2);
        //Добавляем все треки по очереди.
        Button start = (Button) findViewById(R.id.buttonStart);
 
        start.setOnClickListener(new View.OnClickListener() {
                                     public void onClick(View v) {
                                         MediaPlayer mediaPlayer = MediaPlayer.create(getApplicationContext(), mTracks.get(mRandom.nextInt(mTacks.size())));
                                         mediaPlayer.start(); 
                                     }
                                 }
        );
    }
}
1
15.02.2016, 10:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2016, 10:23
Привет! Вот еще темы с ответами:

Воспроизведение звука при нажатии на клавишу - Turbo Pascal
КонецСвета, Спасибо большое) Всё работает) Рад очень помощи) Но вот думаю может поможешь а то тоже в тупик зашел короче нужно сделать...

Воспроизведение звука при нажатии на определенную клавишу - Delphi
Вопрос такой ! Хочу создать что-то на подобие сэмплера Система такая: При нажатии мышкой по кнопке выходит диалоговое окно для выбора...

Mp3 плеер. Автоматическое воспроизведение следующей песни - C#
Всем доброго времени суток) Пишу мп3 плеер..и вот столкнулся с такой траблой..как сделать так, что бы когда кончается песня.. следующая...

Запустить воспроизведение звука при нажатии кнопки (MFC) - Visual C++
Ребят, как проиграть звук в своем приложении при нажатии кнопки например? конкретно пример приведите пожалуйста и какие библиотеки...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.