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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
weeeeeez
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 3
#1

MediaPlayer выбор из Raw ? - Программирование Android

10.08.2013, 18:58. Просмотров 1217. Ответов 1
Метки нет (Все метки)

Можно ли в MediaPlayer предоставить пользователю возможность выбрать треки из raw , как это сделать? или сделать возможность копировать музыку в отдельный каталог на SD ?
Также может ктото знает как сделать чтоб музыка не прекращалась при переходе между окнами и проигрывалось несколько треков одновременно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2013, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MediaPlayer выбор из Raw ? (Программирование Android):

MediaPlayer R.raw: Сделать функцию в которой передавалось бы название песни и она воспроизводилась - Программирование Android
Такое дело, можно ли указать переменную в этом моменте? Просто я хочу сделать функцию в которой просто передавалось название песни и...

"constructor MediaPlayer in class MediaPlayer cannot be applied to given types" - Программирование Android
Проблема в строке "37--final MediaPlayer mp = new MediaPlayer(this,R.raw.sample);" Ошыбка : Error:(39, 41) error: constructor...

SoundPool vs MediaPlayer - Программирование Android
Какой класс лучше использовать для проигрывания музыки? Под музыкой подразумеваю не короткий сигнал, а большое количество песен, с большим...

MediaPlayer автореверс - Программирование Android
Всем привет,вопрос такое ,можно как нибудь сделать,чтоб в медиаплеере воспроизводить песню ,не слева на право ,а с право налево?

Регистрация MediaPlayer - Программирование Android
Подскажите как зарегистрировать MediaPlayer, чтоб при открытии файла он появлялся в диалоге предложенных app.

Static MediaPlayer - Программирование Android
Добрый день! Пытался реализовать следующий алгоритм работы своего приложения: Пользователь кликая по изображению открывает новый...

1
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
12.08.2013, 13:42 #2
Цитата Сообщение от weeeeeez Посмотреть сообщение
Можно ли в MediaPlayer предоставить пользователю возможность выбрать треки из raw , как это сделать?
Если вопрос в том, как проигрывать трек из raw, то:
Java
1
2
MediaPlayer mPlayer = MediaPlayer.create(MyActivity.this, R.raw.mysoundfile);
mPlayer.start();
Если в том, как показать список треков, то:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public void getRawFiles(){
    Field[] fields = R.raw.class.getFields();
    // перебираем массив файлов
    for(int count=0; count < fields.length; count++){
 
        int rid = fields[count].getInt(fields[count]);
 
        // получаем название файла
        String filename = fields[count].getName();
 
        // добавляем файл в список, который в дальнейшем будет виден пользователю
    }
}
Цитата Сообщение от weeeeeez Посмотреть сообщение
или сделать возможность копировать музыку в отдельный каталог на SD ?
Это тоже можно:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
InputStream in = getResources().openRawResource(R.raw.mysoundfile);
FileOutputStream out = new FileOutputStream(filePathOnSdCard); // filePathOnSdCard - путь, куда будет сохранён файл
byte[] buff = new byte[1024];
int read = 0;
 
try {
    while ((read = in.read(buff)) > 0) {
        out.write(buff, 0, read);
    }
} finally {
    in.close();
 
    out.close();
}
Цитата Сообщение от weeeeeez Посмотреть сообщение
Также может ктото знает как сделать чтоб музыка не прекращалась при переходе между окнами
Для этого используют Service (пример) или AsyncTask (пример)
Цитата Сообщение от weeeeeez Посмотреть сообщение
и проигрывалось несколько треков одновременно?
Одновременно или по очереди? Если одновременно - создайте несколько экземпляров MediaPlayer'а с разными треками и запустите их одновременно.
Если по очереди (последовательно), то создайте список треков и перебирая их поштучно воспроизводите, добавив OnCompletionListener (слушатель события завершения проигрывания трека) к MediaPlayer'у:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
        mp.reset();
        currentSong++; // устанавливаем следующий трек
        if (songArray.size()>=currentSong) return; // если проиграны все треки, завершаем проигрывание
 
        try { 
            AssetFileDescriptor afd = context.getResources().openRawResourceFd(songArray.get(++currentSong)); // из массива треков достаём следующий и проигрываем его
            mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getDeclaredLength()); // воспроизведение из raw
            mp.prepare();
            mp.start();
            afd.close();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
});
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2013, 13:42
Привет! Вот еще темы с ответами:

Простой MediaPlayer - Программирование Android
Нужно сделать простую програмку. В главном активити - Баттн, при нажатии на него появляется АлертБилдер из трех кнопок. При нажатии на...

Использование MediaPlayer - Программирование Android
Здравствуйте. Задача такова: написать свой простейший плеер сугубо для себя. Почитав, понял, что нужно использовать MediaPlayer. Но в...

Ошибка MediaPlayer'a - Программирование Android
Здравствуйте форумчане.Создал кнопочку для проигрывания мелодии, но при проигрывании в консоли постоянно вылезает ошибка &quot;E/MediaPlayer:...

Работа с fragments и MediaPlayer - Программирование Android
Здравствуйте! Возник такой вопрос. Я организовал кнопку, при нажатии которой вызывается фрагмент и включается медиафайл. Во фрагменте...


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

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

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