Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Пишу приложение с помощью которого можно будет два файла параллельно слушать, на основе стереозвука, т.е. в одни уши первую аудиозапись, во вторые уши вторую аудиозапись.
На данный момент реализация такова, создаю два MediaPlayer, в один отправляю первый файл, в другой второй файл, и просто изменяю баланс.
А как это сделать через один MediaPlayer ?
И как залезть внутрь библиотекИ?
На данный момент реализация такова, создаю два MediaPlayer, в один отправляю первый файл, в другой второй файл, и просто изменяю баланс.
А как это сделать через один MediaPlayer ?
И как залезть внутрь библиотекИ?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Привет, помогите плиз.
Код:
Т.е после нажатия кнопки Play
1. подготавливается запись и сразуже воспроизводится запись
2. во время буфиризации отображаются проценты загрузки
Как при завершении буфиризации скачать файл из буфера и сохранить его на SD (нажав на кнопку "Загрузить")?
Код:
Код: Выделить всё
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mPlayer.setDataSource(link);
} catch (IllegalArgumentException e) {
Log.d(tag, "You might not set the URI correctly!");
} catch (SecurityException e) {
Log.d(tag, "You might not set the URI correctly!");
} catch (IllegalStateException e) {
Log.d(tag, "You might not set the URI correctly!");
} catch (IOException e) {
e.printStackTrace();
}
mPlayer.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
public void onBufferingUpdate(MediaPlayer mp, int percent) {
Log.d(tag," percent ="+percent);
if (percent != 100){
textView1.setText("Загрузка "+percent+"%");
}else{
textView1.setText("Готово");
}
}
}
});
int i = 0;
btnPlayandPause.setOnClickListener(new OnClickListener() {
boolean prepare = true;
public void onClick(View v) {
if (prepare){
try {
mPlayer.prepare();
prepare = false;
} catch (IllegalStateException e) {
Log.d(tag, "You might not set the URI correctly!");
} catch (IOException e) {
Log.d(tag, "You might not set the URI correctly!");
}
}
if (mPlayer != null && i == 0) {
mPlayer.start();
i = 1;
btnPlayandPause.setText("Pause");
seek.setMax(mPlayer.getDuration());
timeline = mPlayer.getDuration();
seek.setProgress(mPlayer.getCurrentPosition());
try {
currentThread.start();
} catch (Exception er) {
}
} else {
if (mPlayer != null && mPlayer.isPlaying()) {
mPlayer.pause();
}
btnPlayandPause.setText("Play");
i = 0;
}
}
});
1. подготавливается запись и сразуже воспроизводится запись
2. во время буфиризации отображаются проценты загрузки
Как при завершении буфиризации скачать файл из буфера и сохранить его на SD (нажав на кнопку "Загрузить")?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Как остановить процесс prepare() т.к. постоянно кидает в лог:
Или это нужно останавливать onBufferingUpdate() то как его остановить? Или вообще забить на этом?))
Код: Выделить всё
08-28 11:30:09.519: V/MediaPlayer(19539): message received msg=3, ext1=100, ext2=0
08-28 11:30:09.519: V/MediaPlayer(19539): buffering 100
08-28 11:30:09.519: V/MediaPlayer(19539): callback application
08-28 11:30:09.519: V/MediaPlayer(19539): back from callback
08-28 11:30:10.519: V/MediaPlayer(19539): message received msg=3, ext1=100, ext2=0
08-28 11:30:10.519: V/MediaPlayer(19539): buffering 100
08-28 11:30:10.519: V/MediaPlayer(19539): callback application
08-28 11:30:10.519: V/MediaPlayer(19539): back from callback
08-28 11:30:11.519: V/MediaPlayer(19539): message received msg=3, ext1=100, ext2=0
08-28 11:30:11.519: V/MediaPlayer(19539): buffering 100
08-28 11:30:11.519: V/MediaPlayer(19539): callback application
08-28 11:30:11.519: V/MediaPlayer(19539): back from callback
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
пол вечера пытался понять, из-за чего вылетает ошибка
проигрывание медиа работает только из RAW, в манифесте права написаны.
вылетает на китайском планшете с андроид 4.2, на htc vision с aosp 4.2.2 все работает хорошо.
но увы так и не понял, гугл ничего не говоритMediaPlayer("цифры"): Unable to to create media player
проигрывание медиа работает только из RAW, в манифесте права написаны.
вылетает на китайском планшете с андроид 4.2, на htc vision с aosp 4.2.2 все работает хорошо.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Подскажите, как расширить список воспроизводимых форматов как аудио так и видео?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
вероятно подключать сторонние библиотеки, вероятно нативные (можно посмотреть в сторону библиотеки vlc например), вероятно есть методы и попроще...=)SPAWN писал(а):Подскажите, как расширить список воспроизводимых форматов как аудио так и видео?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Может быть у Вас есть пример их использования или ссылка на ресурс?klblk писал(а):вероятно подключать сторонние библиотеки, вероятно нативные (можно посмотреть в сторону библиотеки vlc например), вероятно есть методы и попроще...=)SPAWN писал(а):Подскажите, как расширить список воспроизводимых форматов как аудио так и видео?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Сам я их никогда не использовал, но есть приложения которые используют библиотеку vlc.SPAWN писал(а):Может быть у Вас есть пример их использования или ссылка на ресурс?
Тут есть инструкция по сборке на Android: https://wiki.videolan.org/AndroidCompile/
Но желательно иметь опыт работы с NDK.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
подскажите пожалуйста как считать состояние кнопки гарнитуры? в инете этого не нашол. хочу с помощью нее упровлять проигрователем
-
- Сообщения: 16
- Зарегистрирован: 02 апр 2013, 22:44
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Добавляем этот сниппет в нашу activity и наше приложение для android сможет обрабатывать нажатия hardware-кнопок так как мы того пожелаем. В данном примере используется обработчик для нажатия кнопки “вызова” (KeyEvent.KEYCODE_HEADSETHOOK) на handsfree гарнитуре.goldirus писал(а):подскажите пожалуйста как считать состояние кнопки гарнитуры? в инете этого не нашол. хочу с помощью нее упровлять проигрователем
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
super.onKeyUp(keyCode, event);
if (keyCode == KeyEvent.KEYCODE_HEADSETHOOK)
{
// ADD HERE YOUR CODE TO PROCESS PARTICULAR KEY-PRESS EVENT
return true; //because you handle this event
}
return false; // allow to system handle it
}
Если вы не знаете кода кнопки для которой хотите написать обработчик – переопределите функцию onKeyDown таким образом чтобы она выводила код нажатой кнопки и всегда возвращала false:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
super.onKeyUp(keyCode, event);
Log.i("KEY CODE ","PRESSED KEY - "+keyCode);
return false; // allow to system handle it
}
-
- Сообщения: 16
- Зарегистрирован: 02 апр 2013, 22:44
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Всем привет, имеется такой вопрос.
Как сменить микрофон телефона на гарнитурный, то есть я вызываю активити расознавание речи и идёт приём звука не с гарнитуры а с телефона. Как это можно исправить?
Как сменить микрофон телефона на гарнитурный, то есть я вызываю активити расознавание речи и идёт приём звука не с гарнитуры а с телефона. Как это можно исправить?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Подскажите как изменить в ID3v2 тег LINK INFORMATION
Я нашел то как изменять другие теги http://jid3.blinkenlights.org/samples.html, но вот как изменить этот не знаю
Я нашел то как изменять другие теги http://jid3.blinkenlights.org/samples.html, но вот как изменить этот не знаю
- Вложения
-
- 18-10-2013 20-16-05.png (64.79 КБ) 15891 просмотр
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Форумчане помогите с решением. Очень надо. Нужно на Андроид 2.2 воспроизвести flac. Нашел библиотеку jflac, но нету мануала по ней=(SPAWN писал(а):Подскажите, как расширить список воспроизводимых форматов как аудио так и видео?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
У меня в приложении играет музыка, я сделал так что при выходе и сворачивании, музыка приостанавливается (методы onPause(), onStop(), onResume()). Но не могу понять как остановить музыку при блокировки экрана. Какой метод за это должен отвечать?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Из верхнего ряда кнопок только raw издает звук ?
А что надо добавить в код что бы проиграть файл с sd карты
потому что вот этот код ничего не даЁт
case R.id.btnStartSD:
Log.d(LOG_TAG, "start SD");
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(DATA_SD);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.start();
break;
А что надо добавить в код что бы проиграть файл с sd карты
потому что вот этот код ничего не даЁт
case R.id.btnStartSD:
Log.d(LOG_TAG, "start SD");
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(DATA_SD);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.start();
break;
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
ну чтобы какой-то один файл проиграть надо изменить в mediaPlayer.setDataSource(DATA_SD); в скобках вместо DATA_SD написать "mnt/sdcard/название_композиции.mp3"IgNa писал(а):Из верхнего ряда кнопок только raw издает звук ?
А что надо добавить в код что бы проиграть файл с sd карты
потому что вот этот код ничего не даЁт
case R.id.btnStartSD:
Log.d(LOG_TAG, "start SD");
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(DATA_SD);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.start();
break;
а вот как например проиграть папку с музыкой подскажите кто знает??
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
1) Получаем список файлов из папки:Ave23 писал(а):а вот как например проиграть папку с музыкой подскажите кто знает??
[syntax=java]File dir = new File(DATA_SD);
File[] files = dir.listFiles();[/syntax]
2) Прогоняем их через фильтр какой-нить, чтобы оставить только медиа файлы
3) В mediaPlayer закидываем первый файл, затем в onCompletion ловим завершение проигрывания и закидываем следующий и т.д.
думаю как-то так.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
честно говоря, не очень понял, а скажите рациональна ли идея считать названия всех композиций из папки на sdcard в массив string и потом в код mediaPlayer.setDataSource("mnt/sdcard/music.mp3"); подставлять элемент массива. Хотя я не знаю как считать все названия из папки))klblk писал(а):1) Получаем список файлов из папки:Ave23 писал(а):а вот как например проиграть папку с музыкой подскажите кто знает??
[syntax=java]File dir = new File(DATA_SD);
File[] files = dir.listFiles();[/syntax]
2) Прогоняем их через фильтр какой-нить, чтобы оставить только медиа файлы
3) В mediaPlayer закидываем первый файл, затем в onCompletion ловим завершение проигрывания и закидываем следующий и т.д.
думаю как-то так.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
ну так я это и имел ввиду только не массив строк, а массив File (код получения в сообщении выше, DATA_SD - путь к нужной папке), из которого можно получить и путь к файлу (mFile.getPath()). А вот насколько это рационально не знаю, но я бы сделал так, т.к. другой способ на ум не приходит.Ave23 писал(а):честно говоря, не очень понял, а скажите рациональна ли идея считать названия всех композиций из папки на sdcard в массив string и потом в код mediaPlayer.setDataSource("mnt/sdcard/music.mp3"); подставлять элемент массива. Хотя я не знаю как считать все названия из папки))
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Форумчане, подскажите как сохранить воспроизводимое видео с сайта (не поток). Я понимаю, что оно кешируется и определенное время находиться на устройстве, но как его сохранить для повторного воспроизведения?