Форум программистов, компьютерный форум CyberForum.ru

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

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

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

04.02.2016, 12:30. Просмотров 427. Ответов 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);
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2016, 12:30     Воспроизведение рандомной песни при нажатии на картинку
Посмотрите здесь:

Android Действие при нажатии на ссылку
Воспроизведение музыки при выключенном звуке Android
Android ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии?
Изменение backgraund color при нажатии Android
Android Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка?
Android Ошибка при запуске AsyncTask при нажатии на пункт ActionBar
Вылет при нажатии кнопки Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
04.02.2016, 12:43     Воспроизведение рандомной песни при нажатии на картинку #2
Вот про MediaPlayer почитай.

Не по теме:


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

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

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

а песни воспроизводятся у меня из папки raw
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 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();
Хмырь
-1 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 42
Завершенные тесты: 1
12.02.2016, 17:41  [ТС]     Воспроизведение рандомной песни при нажатии на картинку #7
вроде не хранится, а как его создать ?
chizz
979 / 493 / 54
Регистрация: 19.03.2013
Сообщений: 3,074
Записей в блоге: 18
Завершенные тесты: 1
12.02.2016, 17:50     Воспроизведение рандомной песни при нажатии на картинку #8
Хмырь, переименуй файлы в raw в 1,2,3,4... и рандомно вызывай
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 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);
...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2016, 10:23     Воспроизведение рандомной песни при нажатии на картинку
Еще ссылки по теме:

Реализовать воспроизведение звука при каждом показе сообщения Android
Android Ошибка при нажатии
Android Ошибка при нажатии на кнопку
Как при построении Listview выибрать картинку в зависимости от значения в БД? Android
Android Закрыть приложение при нажатии на кнопку

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

Или воспользуйтесь поиском по форуму:
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 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(); 
                                     }
                                 }
        );
    }
}
Yandex
Объявления
15.02.2016, 10:23     Воспроизведение рандомной песни при нажатии на картинку
Ответ Создать тему
Опции темы

Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru