Страница 1 из 5

Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности

Добавлено: 29 апр 2013, 02:00
damager82
В этом уроке:
- используем MediaPlayer


Click here to read this article!

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 29 апр 2013, 16:12
SPAWN
подскажите, как считать метаданные (артист, название трека и тд) с потока аудио?

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 03 май 2013, 13:03
ili13
доброе время суток!

наконец-то тема которая меня в последнее время очень задела.
И так, мой проект:
Хочу напсать 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 – аудио/видео плеер, основн

Добавлено: 10 июн 2013, 15:09
ktotokot
Пишу приложение с использованием AsyncPlayer, которое воспроизводит аудиопоток из интернета.
Выявилась такая проблема: при запуске других приложений и недостатке памяти в системе AsyncPlayer уничтожается как неактивный процесс и звук обрывается. AsyncPlayer вызывается из MainActivity.
Кто знает, как это предотвратить?
Спасибо.

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 10 июн 2013, 15:45
klblk
ktotokot писал(а):Пишу приложение с использованием AsyncPlayer, которое воспроизводит аудиопоток из интернета.
Выявилась такая проблема: при запуске других приложений и недостатке памяти в системе AsyncPlayer уничтожается как неактивный процесс и звук обрывается. AsyncPlayer вызывается из MainActivity.
Кто знает, как это предотвратить?
Спасибо.
Думаю тебе нужен сервис в режиме Foreground:
http://startandroid.ru/ru/uroki/vse-uro ... rvisa.html

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 11 июн 2013, 00:27
ktotokot
Спасибо!
Завтра попробую, но похоже то что надо)

Re: Урок 126. Медиа. MediaPlayer

Добавлено: 08 июл 2013, 13:51
=bor=
Хороший урок, спасибо автору!
Как раз сейчас видео плейер подробно разбираю.
Вот проверенный сниппет, позволяющий тапом по экрану приостанавливать и снова запускать воспроизведение:

Код: Выделить всё

   /**  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 – аудио/видео плеер

Добавлено: 08 июл 2013, 15:02
=bor=
Вот здесь:

Код: Выделить всё

private void releaseMP() {
    if (mediaPlayer != null) {
      try {
        mediaPlayer.release();
        mediaPlayer = null;
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
и mediaPlayer.release(), и mediaPlayer = null, зачем null?
Edit. Перечитал свой вопрос и увидел ответ. :) Видимо, чтобы if срабатывал, точнее, не срабатывал, если при следующем вызове обнаружит, что mediaPlayer = null.

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер

Добавлено: 08 июл 2013, 15:19
=bor=
Почему при воспроизведении из raw нет mediaPlayer.prepare(), как в других случаях?

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер

Добавлено: 10 июл 2013, 13:50
spheros
=bor= писал(а):Почему при воспроизведении из raw нет mediaPlayer.prepare(), как в других случаях?
Согласно официальной документации при успешном создании медаплеера с помощью create(Context context, int resid) метод mediaPlayer.prepare() вызывается автоматически. Вызывать его повторно не нужно
http://developer.android.com/reference/ ... xt,%20int)

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер

Добавлено: 12 июл 2013, 09:35
damager82
spheros писал(а):
=bor= писал(а):Почему при воспроизведении из raw нет mediaPlayer.prepare(), как в других случаях?
Согласно официальной документации при успешном создании медаплеера с помощью create(Context context, int resid) метод mediaPlayer.prepare() вызывается автоматически. Вызывать его повторно не нужно
http://developer.android.com/reference/ ... xt,%20int)
Верно. И в уроке это есть:
В случае с raw-файлом мы используем метод create. В нем уже будет выполнен метод prepare и нам остается только выполнить start.

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 22 июл 2013, 08:24
vasia
можно сделать чтобы файлы из raw копировались в папку на Sd карту?, по другому получается что приложение слишком много памяти занимает

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 22 июл 2013, 13:56
=bor=
vasia писал(а):можно сделать чтобы файлы из raw копировались в папку на Sd карту?, по другому получается что приложение слишком много памяти занимает
Тут почитайте: Android : Copy RawFile to Sdcard (video mp4)

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 23 июл 2013, 17:47
DarkWinston
Всем привет!
Я только начинаю писать под андроид и столкнулся с проблемкой: пишу видеоплеер, но запускается только музыка из файла, видео отсутствует

Код: Выделить всё

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; 
   } 
}
Подскажите, что я делаю не так? Ну или что сделать чтобы все встало на свои места?:)

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 23 июл 2013, 20:14
DarkWinston
1.2. Возможность сохранять локально на девайсе 3gp файл из интернета
1.3. При блокировании экрана или при выходе из приложения, если пользователь не остановил воспроизведение, воспроизведение должно продолжиться.

Подскажите, люди добрые, как реализовать эти фичи?

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 23 июл 2013, 22:07
=bor=
DarkWinston писал(а):пишу видеоплеер, но запускается только музыка из файла, видео отсутствует
Вот тут MediaPlayer вот что про это пишут:
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.
А в логах что?

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 23 июл 2013, 23:03
DarkWinston
Воспроизведение уже таки побеждено)) просто сделал через VideoView, оказалось гораздо проще))
Остались нерешенными только вопросы:
1) как просматриваемое видео сохранять на телефон
2) как при сворачивании прилаги не стопить видео и звук

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 24 июл 2013, 19:52
DarkWinston
Ребят, ау, нужна помощь)) Серьезно)

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 06 авг 2013, 09:07
vasia
Получается все кнопки в уроке преднастроены, можно ли сделать чтобы по нажатию кнопки пользователь выбирал звук или мелодию из списка в Raw ?

Re: Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основн

Добавлено: 12 авг 2013, 17:13
once2go
Помогите))Гибну)
Есть пару вопросов по ВИдео Вью
1. Как сделать его фулскрин(есть ли метод а то не нашел в либрах)...
2. Есть ли методы маркировки(например videoViwer.playFrom(1min40sec) - это я образно=) )
3. Как убрать кнопки управления по тачу(тоесть при таче у меня запланирован переход на другое активити со своим лейаутом а у меня по тачу показывается этот тулбар =( не красиво выходит )
4. как убрать самый нижний тулбар с кнопками бёк и хоум(я так понял это не в темах делаеться ибо столько их фулскрин перепробовал а толку ноль)

Заранее спасибо))