Невозможно отобразить веб-камеру с помощью Aforge.NET в C # - PullRequest
0 голосов
/ 05 декабря 2011

В настоящее время я работаю над проектом, в котором мне нужно просто отобразить веб-камеру пользователя на объекте asp.image.Я использую фреймворк Aforge и получил его для работы в приложении для Windows.В приложении Windows я бы установил переменную источника видео, равную свойству изображения графического блока
Другими словами:

samplepicturebox1.image = videosource

Проблема в том, что дляasp есть только объект asp: image и единственным свойством является .imageurl

imgSource.imageurl = ???

Как мне выйти и связать объект видеопотока с URL-адресом изображенияили какой другой объект я бы использовал для отображения потока?Я пытался поместить вывод в отдельный файл aspx.cs, чтобы я мог просто использовать его в качестве imageurl, но безуспешно.
Вот мой код для указания:

//using AForge.Video;
//using AForge.Video.DirectShow;
//using System.Drawing.Imaging;


public partial class WebForm1 : System.Web.UI.Page
{
    private FilterInfoCollection VideoCaptureDevices;
    private VideoCaptureDevice FinalVideo;
    protected void Page_Load(object sender, EventArgs e)
    {
        drpSource.Items.Clear();
        VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
        foreach (FilterInfo VideoCaptureDevice in VideoCaptureDevices) 
        {
            drpSource.Items.Add(VideoCaptureDevice.Name);
        }
        drpSource.SelectedIndex = 0;
    }

    protected void btnStart_Click(object sender, EventArgs e)
    {
        FinalVideo = new VideoCaptureDevice(VideoCaptureDevices[drpSource.SelectedIndex].MonikerString);
        FinalVideo.NewFrame +=new NewFrameEventHandler(FinalVideo_NewFrame);
        FinalVideo.Start();
    }
    void FinalVideo_NewFrame(object sender, NewFrameEventArgs deventArgs)
    {
        imgSource.ImageUrl=(FinalVideo.ToString());
    }
}

У меня также естьзаполнить поле со списком с другим источником видео пользователя.Это также показывает правильно

Я действительно ценю любую помощь.Это переведет в сообщения.Я хочу иметь возможность потоковой передачи между пользователями, такими как Omegle и Chatroulette.Если бы кто-нибудь порекомендовал более подходящую среду для просмотра, я открыт, я рассматривал только Aforge и Touchless как две платформы C #, поддерживающие потоковое видео.

Я видел, как многие используют flash, и я немного знаю ActionScript, но, если честно, я бы не стал слишком сильно связываться с flash, так как ActionScript - довольно болезненная и, по моему мнению, в некоторыхаспекты, вспышка медленно увядает и умирает.

1 Ответ

1 голос
/ 05 декабря 2011

@ Кейт Николас прав.Веб-приложение не то же самое, что приложение client / winforms.Веб-приложение запускается на веб-сервере, а не в веб-браузере.

Нет доступа к веб-камере пользователя.Чтобы использовать веб-камеру с сервера, вам необходимо использовать технологию на стороне клиента, такую ​​как flash или silverlight.

...