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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Не запускается форма с WebView пример http://www.cyberforum.ru/android-dev/thread936277.html
Всем привет ! Ребят, помогите, ткните носом в мою ошибку... Делаю по примеру http://habrahabr.ru/post/113731/ две формы, в которой, в первой отображается список, а во второй - сам контент. ...
Программирование Android Заблокировать клавиатуру Требуется заблокировать клавиатуру, чтобы она не появлялась, когда EditText попадает в фокус, но при этом оставался видимым курсор и текст можно было выделять. Установка InputType в "none" или... http://www.cyberforum.ru/android-dev/thread936268.html
Трабл с краями отображения Программирование Android
Добрый день. Вот такая досадная проблема: элементы нельзя перетащить в самый край Activity, только по определенным рамкам. А если все-таки начинаю перемещать через XML, то получается вещь,...
Программирование Android Ошибка в файле, расположение Uncnow
Всем привет ! Ребят помогите, я не могу найти на что конкретно ругается компилятор. Выдает мне вот такую ошибку: ... res\layout\viewThree.xml: Invalid file name: must contain only В файле...
Программирование Android Размещение рекламы в приложении http://www.cyberforum.ru/android-dev/thread936026.html
Доброго времени суток форумчане! Кто знает реально ли разместить свои рекламные сообщения в приложении, знаю про admob, но все же реально ли это реализовать чтобы реклама показывалась та которую я...
Программирование Android Timer в ListView Добрый вечер! Поставлена задача: нужно создать ListView в элементах которого тикало время от даты создания объекта. Я пошел по самому короткому и казалось бы единственному пути. Сделать ListView,... подробнее

Показать сообщение отдельно
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
12.08.2013, 13:42
Цитата Сообщение от 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru