EditOpen Source Ajax FLV Player for ASP.NET C# and VB.NET
The Gaia FlowPlayer is an ASP.NET Server Control wrapping a Flash FLV player called FlowPlayer. Everything is taken care of and embedded into a flexible and easy to use Server Control that has all the useful properties and events you need available.
Click here for a quick online sampleDownloadThe control is licensed under GPL and you can download the source as an attachment. Quick samples are written in C# and VB.NET for your convenience. The samples doesn't contain an exhaustive introduction to the API, but covers a few nice features of the player.
EditGaia Flow Player with default skin

Because it utilizes the Gaia Ajax framework to it's fullest you can combine the Player with the powerful event model of Gaia and have access to events like OnPlayerStateChanged, OnCuePointReached and OnVideoClipFinished
ASPX Markup for the control. Here's a selection of the properties and events available
It's never been easier to develop Video Enabled Sites using the powerful Gaia framework

Here's an example of the StateChanged event triggered
///
/// FlowPlay dispatches this event when the state of the Player changes
///
protected void flowplayer_StateChanged(object sender, FlowPlayer.StatusChangedEventArgs e)
{
lblStatus.Text = e.CurrentState == FlowPlayer.PlayerState.Paused ? "Video is paused" : "";
}
Using CuePoints you can add custom markers in the Video that will trigger Ajax events on the server. You can easily use these CuePoints to introduce "custom" functionality. In this sample we stop the video and open a modal panel on top of the video. When the user clicks the link inside the Panel, the video is resumed.
Here's how we add the CuePoints
flowplayer.AddCueuePoint(new CuePoint("ShowPanel", new TimeSpan(0,0,10)));
flowplayer.AddCueuePoint(new CuePoint("ShowInfo", new TimeSpan(0,0, 5)));
And here's how they are triggered on the server
protected void flowplayer_CuePointReached(object sender, CuePointReachedEventArgs e)
{
switch (e.CuePoint.Name)
{
case "ShowPanel":
pnlModal.Visible = true;
flowplayer.Pause();
break;
case "ShowInfo":
lblStatus.Text =
@"This is informational text only and is
display at CuePoint after 5 seconds";
new Effect(lblStatus, Effect.TypeOfEffect.Highlight);
break;
}
}
Here's how the modal panel is displayed on top of the video that was Paused in the event

Because it's based on the excellent FlowPlayer, you can find some of the features
hereEditGPL source code used in this work
In order to use this project commercialy you need to abide by the license of the respective project owners.
Click here to read more about dual licensingEditKnown Issues
See Open Issues at Google CodeEditTroubleshooting