Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности
Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности
В этом уроке:
- используем MediaPlayer
Click here to read this article!
- используем MediaPlayer
Click here to read this article!
Последний раз редактировалось damager82 26 май 2017, 13:44, всего редактировалось 3 раза.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
подскажите, как считать метаданные (артист, название трека и тд) с потока аудио?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
доброе время суток!
наконец-то тема которая меня в последнее время очень задела.
И так, мой проект:
Хочу напсать app(ку) при помощи которой можно смотреть стрим с IP камеры.
Хардварэ: Таб 10.1Н от Samsung и WiFi Камера и Asus Рутер
К моей Проблеме:
Таб подсоединяется к камере через RTSP протокол
Пример адресса: rtsp://<ip>:port/video.3gp или .mp4 или H264
Теперь к самой проблеме:
Видео воспроизводится только на 4-5 секунд потом всё замерзает и через где-то 7-10 секунд опять на 4-5 секунд показываeт.
Такое ощущение что таб постоянно заного подсоединяется или пишет бафер хотя я работаю без бафера.
и еще вопрос возможно ли в моей апп вызвать другую.
например другой плеэр скаченый из плей стора то есть не покидая моей апп?
если да до подскажите пожалуйста как?
Помогите люди добрые!
Всем зарание спасибо!!!
наконец-то тема которая меня в последнее время очень задела.
И так, мой проект:
Хочу напсать app(ку) при помощи которой можно смотреть стрим с IP камеры.
Хардварэ: Таб 10.1Н от Samsung и WiFi Камера и Asus Рутер
К моей Проблеме:
Таб подсоединяется к камере через RTSP протокол
Пример адресса: rtsp://<ip>:port/video.3gp или .mp4 или H264
Теперь к самой проблеме:
Видео воспроизводится только на 4-5 секунд потом всё замерзает и через где-то 7-10 секунд опять на 4-5 секунд показываeт.
Такое ощущение что таб постоянно заного подсоединяется или пишет бафер хотя я работаю без бафера.
и еще вопрос возможно ли в моей апп вызвать другую.
например другой плеэр скаченый из плей стора то есть не покидая моей апп?
если да до подскажите пожалуйста как?
Помогите люди добрые!
Всем зарание спасибо!!!
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Пишу приложение с использованием AsyncPlayer, которое воспроизводит аудиопоток из интернета.
Выявилась такая проблема: при запуске других приложений и недостатке памяти в системе AsyncPlayer уничтожается как неактивный процесс и звук обрывается. AsyncPlayer вызывается из MainActivity.
Кто знает, как это предотвратить?
Спасибо.
Выявилась такая проблема: при запуске других приложений и недостатке памяти в системе AsyncPlayer уничтожается как неактивный процесс и звук обрывается. AsyncPlayer вызывается из MainActivity.
Кто знает, как это предотвратить?
Спасибо.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Думаю тебе нужен сервис в режиме Foreground:ktotokot писал(а):Пишу приложение с использованием AsyncPlayer, которое воспроизводит аудиопоток из интернета.
Выявилась такая проблема: при запуске других приложений и недостатке памяти в системе AsyncPlayer уничтожается как неактивный процесс и звук обрывается. AsyncPlayer вызывается из MainActivity.
Кто знает, как это предотвратить?
Спасибо.
http://startandroid.ru/ru/uroki/vse-uro ... rvisa.html
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Спасибо!
Завтра попробую, но похоже то что надо)
Завтра попробую, но похоже то что надо)
Re: Урок 126. Медиа. MediaPlayer
Хороший урок, спасибо автору!
Как раз сейчас видео плейер подробно разбираю.
Вот проверенный сниппет, позволяющий тапом по экрану приостанавливать и снова запускать воспроизведение:
Вопрос:
Как вывести прогресс-бар с возможностью управления точкой воспроизведения тапом по нему?
Как раз сейчас видео плейер подробно разбираю.
Вот проверенный сниппет, позволяющий тапом по экрану приостанавливать и снова запускать воспроизведение:
Код: Выделить всё
/** Use screen touches to toggle the video between playing and paused. */
@Override
public boolean onTouchEvent (MotionEvent ev){
if(ev.getAction() == MotionEvent.ACTION_DOWN){
if(videoPlayer.isPlaying()){
videoPlayer.pause();
} else {
videoPlayer.start();
}
return true;
} else {
return false;
}
}
Как вывести прогресс-бар с возможностью управления точкой воспроизведения тапом по нему?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер
Вот здесь: и mediaPlayer.release(), и mediaPlayer = null, зачем null?
Edit. Перечитал свой вопрос и увидел ответ. Видимо, чтобы if срабатывал, точнее, не срабатывал, если при следующем вызове обнаружит, что mediaPlayer = null.
Код: Выделить всё
private void releaseMP() {
if (mediaPlayer != null) {
try {
mediaPlayer.release();
mediaPlayer = null;
} catch (Exception e) {
e.printStackTrace();
}
}
Edit. Перечитал свой вопрос и увидел ответ. Видимо, чтобы if срабатывал, точнее, не срабатывал, если при следующем вызове обнаружит, что mediaPlayer = null.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер
Почему при воспроизведении из raw нет mediaPlayer.prepare(), как в других случаях?
Последний раз редактировалось =bor= 13 июл 2013, 22:07, всего редактировалось 1 раз.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер
Согласно официальной документации при успешном создании медаплеера с помощью create(Context context, int resid) метод mediaPlayer.prepare() вызывается автоматически. Вызывать его повторно не нужно=bor= писал(а):Почему при воспроизведении из raw нет mediaPlayer.prepare(), как в других случаях?
http://developer.android.com/reference/ ... xt,%20int)
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер
Верно. И в уроке это есть:spheros писал(а):Согласно официальной документации при успешном создании медаплеера с помощью create(Context context, int resid) метод mediaPlayer.prepare() вызывается автоматически. Вызывать его повторно не нужно=bor= писал(а):Почему при воспроизведении из raw нет mediaPlayer.prepare(), как в других случаях?
http://developer.android.com/reference/ ... xt,%20int)
В случае с raw-файлом мы используем метод create. В нем уже будет выполнен метод prepare и нам остается только выполнить start.
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
можно сделать чтобы файлы из raw копировались в папку на Sd карту?, по другому получается что приложение слишком много памяти занимает
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Тут почитайте: Android : Copy RawFile to Sdcard (video mp4)vasia писал(а):можно сделать чтобы файлы из raw копировались в папку на Sd карту?, по другому получается что приложение слишком много памяти занимает
-
- Сообщения: 4
- Зарегистрирован: 23 июл 2013, 17:40
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Всем привет!
Я только начинаю писать под андроид и столкнулся с проблемкой: пишу видеоплеер, но запускается только музыка из файла, видео отсутствует
Подскажите, что я делаю не так? Ну или что сделать чтобы все встало на свои места?:)
Я только начинаю писать под андроид и столкнулся с проблемкой: пишу видеоплеер, но запускается только музыка из файла, видео отсутствует
Код: Выделить всё
public class MainActivity extends Activity implements SurfaceHolder.
Callback
{
private MediaPlayer mediaPlayer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mediaPlayer = new MediaPlayer();
SurfaceView surface = (SurfaceView)findViewById(R.id.surface);
SurfaceHolder holder = surface.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
holder.setFixedSize(400, 300);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
mediaPlayer.setDisplay(holder);
mediaPlayer.setDataSource("http://daily3gp.com/vids/giant_rubberband_ball.3gp");
mediaPlayer.prepare();
} catch (IllegalArgumentException e) {
Log.d("MEDIA_PLAYER", e.getMessage());
} catch (IllegalStateException e) {
Log.d("MEDIA_PLAYER", e.getMessage());
} catch (IOException e) {
Log.d("MEDIA_PLAYER", e.getMessage());
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
mediaPlayer.release();
}
public void surfaceChanged(SurfaceHolder holder,
int format, int width, int height) { }
@Override
public boolean onTouchEvent (MotionEvent ev){
if(ev.getAction() == MotionEvent.ACTION_DOWN){
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
} else {
mediaPlayer.start();
}
return true;
} else {
return false;
}
}
-
- Сообщения: 4
- Зарегистрирован: 23 июл 2013, 17:40
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
1.2. Возможность сохранять локально на девайсе 3gp файл из интернета
1.3. При блокировании экрана или при выходе из приложения, если пользователь не остановил воспроизведение, воспроизведение должно продолжиться.
Подскажите, люди добрые, как реализовать эти фичи?
1.3. При блокировании экрана или при выходе из приложения, если пользователь не остановил воспроизведение, воспроизведение должно продолжиться.
Подскажите, люди добрые, как реализовать эти фичи?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Вот тут MediaPlayer вот что про это пишут:DarkWinston писал(а):пишу видеоплеер, но запускается только музыка из файла, видео отсутствует
А в логах что?public void setDisplay (SurfaceHolder sh)
Sets the SurfaceHolder to use for displaying the video portion of the media. Either a surface holder or surface must be set if a display or video sink is needed. Not calling this method or setSurface(Surface) when playing back a video will result in only the audio track being played. A null surface holder or surface will result in only the audio track being played.
-
- Сообщения: 4
- Зарегистрирован: 23 июл 2013, 17:40
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Воспроизведение уже таки побеждено)) просто сделал через VideoView, оказалось гораздо проще))
Остались нерешенными только вопросы:
1) как просматриваемое видео сохранять на телефон
2) как при сворачивании прилаги не стопить видео и звук
Остались нерешенными только вопросы:
1) как просматриваемое видео сохранять на телефон
2) как при сворачивании прилаги не стопить видео и звук
-
- Сообщения: 4
- Зарегистрирован: 23 июл 2013, 17:40
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Ребят, ау, нужна помощь)) Серьезно)
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Получается все кнопки в уроке преднастроены, можно ли сделать чтобы по нажатию кнопки пользователь выбирал звук или мелодию из списка в Raw ?
Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн
Помогите))Гибну)
Есть пару вопросов по ВИдео Вью
1. Как сделать его фулскрин(есть ли метод а то не нашел в либрах)...
2. Есть ли методы маркировки(например videoViwer.playFrom(1min40sec) - это я образно=) )
3. Как убрать кнопки управления по тачу(тоесть при таче у меня запланирован переход на другое активити со своим лейаутом а у меня по тачу показывается этот тулбар =( не красиво выходит )
4. как убрать самый нижний тулбар с кнопками бёк и хоум(я так понял это не в темах делаеться ибо столько их фулскрин перепробовал а толку ноль)
Заранее спасибо))
Есть пару вопросов по ВИдео Вью
1. Как сделать его фулскрин(есть ли метод а то не нашел в либрах)...
2. Есть ли методы маркировки(например videoViwer.playFrom(1min40sec) - это я образно=) )
3. Как убрать кнопки управления по тачу(тоесть при таче у меня запланирован переход на другое активити со своим лейаутом а у меня по тачу показывается этот тулбар =( не красиво выходит )
4. как убрать самый нижний тулбар с кнопками бёк и хоум(я так понял это не в темах делаеться ибо столько их фулскрин перепробовал а толку ноль)
Заранее спасибо))