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

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

Войти
Регистрация
Восстановить пароль
 
tiprocop
2 / 2 / 0
Регистрация: 18.06.2012
Сообщений: 100
#1

Вывести изображение из RSTP потока на телефон - Программирование Android

23.09.2014, 22:36. Просмотров 408. Ответов 0
Метки нет (Все метки)

Приветствую. Такая проблема. Есть ip камера,то,что она отображает можно просматривать через RSTP поток. Установил на телефон VLC, подключился к камере - видео идет как слайдшоу,с перерывами в 2-5 секунд,но идет. Пытаюсь программно вывести это изображение на экран,но увы. Причем либо выдает исключение Java.Lang.Throwable,либо делает вид,что видео идет,но самого изображения нет. Может кто сталкивался?
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
 
using Android.App;
using Android.Content;
using Android.Graphics;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Media;
 
namespace CameraViewer
{
    [Activity(Label = "CameraViewer", MainLauncher = true, Icon = "@drawable/icon")]
    public class Activity1 : Activity, ISurfaceHolderCallback
    {
        
        MediaPlayer mediaplay = new MediaPlayer();
        public void SurfaceChanged(ISurfaceHolder holder, Format i, int j, int k) { }
        public void SurfaceDestroyed(ISurfaceHolder holder)
        {
            mediaplay.Release();
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
 
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
 
            // Get our button from the layout resource,
            // and attach an event to it
            SurfaceView surface = FindViewById<SurfaceView>(Resource.Id.surfaceView1);
            var holder = surface.Holder;
            holder.AddCallback(this);
            holder.SetType(Android.Views.SurfaceType.PushBuffers);
           
            Button b1 = FindViewById<Button>(Resource.Id.button1);
            b1.Click += delegate { mediaPlayerstart(); };
           
        }
 
        public void SurfaceCreated(ISurfaceHolder holder)
        {
            try
            {
                if (mediaplay.IsPlaying) Toast.MakeText(this, "PLAYING", ToastLength.Short).Show();
                else
                {
                  
                    mediaplay.SetDisplay(holder);
                    mediaplay.SetDataSource(@"rtsp://192.168.78.130:554/MediaInput/h264");
                    mediaplay.SetVideoScalingMode(VideoScalingMode.ScaleToFitWithCropping);
                    mediaplay.PrepareAsync();
                    Toast.MakeText(this, "prepared", ToastLength.Short).Show();
                }
               
            }
            catch (System.Exception e)
            {
                Toast.MakeText(this, e.Message, ToastLength.Short).Show();
            }
 
        }
        void mediaPlayerstart()
        {
            mediaplay.Start();
            Toast.MakeText(this, "Play start", ToastLength.Short).Show();
        }
 
      
 
    }
}
Использую Mono for Android,код на C#. Буду весьма признателен за совет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 22:36     Вывести изображение из RSTP потока на телефон
Посмотрите здесь:
Разная задержка rstp-потока на разных устройствах Android
Изображение с камеры вывести на RelativeLayout Android
Эмулятор VS телефон Android
Программа не видит телефон Android
Android Разбудить телефон из сервиса
Загрузить приложение на телефон Android
Телефон не до конца определился ОС Android
Android Студия не видит телефон
Эмулятор для ПК + телефон Android
Сохранение фото на телефон Android
Android Телефон в качестве NFC метки
Android Передача данных с сервера на телефон

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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