0

私は現在、ユーザーのWebカメラをasp.imageオブジェクトに表示するだけでよいプロジェクトに取り組んでいます。私はAforgeフレームワークを使用していて、Windowsアプリで動作するようになっています。Windowsアプリでは、画像ボックスのimageプロパティに等しいビデオソース変数を設定します
。言い換える と、次のようになります。

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のように、ユーザー間でストリーミングできるようにしたいと考えています。誰かが私が開いていることを調べるためのより良いフレームワークを推奨するなら、私はビデオストリーミングをサポートする2つのC#フレームワークとしてAforgeとTouchlessだけを調べました。

私は多くの人がフラッシュを使用しているのを見てきましたが、ActionScriptについては少し知っていますが、完全に正直に言うと、ActionScriptは非常に苦痛であり、いくつかの面でフラッシュがゆっくりと枯れていくので、フラッシュをあまりいじりたくありません。死ぬ。

4

1 に答える 1

1

@KeithNicholasは正しいです。Webアプリケーションは、client/winformsアプリケーションと同じではありません。Webアプリは、Webブラウザーではなく、Webサーバーで実行されます。

ユーザーのWebカメラにアクセスできませんでした。サーバーからWebカメラを使用できるようにするには、フラッシュやSilverlightなどのクライアント側のテクノロジを使用する必要があります。

于 2011-12-05T08:48:08.773 に答える