Click here to Skip to main content
13,768,110 members
Click here to Skip to main content

Stats

715.7K views
29.8K downloads
281 bookmarked
Posted 14 Sep 2010
Licenced CPOL

PVS.AVPlayer - MCI Audio and Video Library

, 7 Aug 2018
Windows Media Control Interface (MCI) library with many added features
PVS.AVPlayer
PVS.AVPlayer .NET 2.0
PVS.AVPlayer.XML
PVS.AVPlayer .NET 3.0
PVS.AVPlayer.XML
PVS.AVPlayer .NET 3.5
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.0
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.5
PVS.AVPlayer .NET 4.5.1
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.5.2
PVS.AVPlayer.XML
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.6
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.6.1
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.6.2
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.7
PVS.AVPlayer .NET 4.7.1
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer .NET 4.7.2
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer.dll
PVS.AVPlayer.XML
PVS.AVPlayer All Source Code
AVPlayerExample
AVPlayerExample
AVPlayerExample.csproj.user
bin
Debug
PVS.AVPlayer.XML
Release
Dialogs
Display Overlays
obj
Debug
Release
x86
Debug
Release
Properties
Resources
Crystal Italic1.ttf
WingDings3a.ttf
Voice Recorder
FolderView
FolderView
bin
Debug
PVS.AVPlayer.XML
Release
FolderView.csproj.user
obj
Release
x86
Debug
Release
Properties
Resources
Crystal Italic1.ttf
PVS.AVPlayer
AVPlayerExample.csproj.user
PVS.AVPlayer.dll
PVS.AVPlayer.XML
Custom Items
Native Methods
Bob.png
Crystal Italic1.ttf
Dial Green 2.png
Dial Green 4.png
Dial Green.png
Dial Red 2.png
Dial Red.png
media7.ico
media7a.ico
Media8.ico
Media8a.ico
VU Meter.png
WingDings3a.ttf
Sound Recorder
Various
About Dialog
PVS.AVPlayer.dll
PVS.AVPlayer.XML
Custom Items
FolderView.csproj.user
Debug
Bob.png
Crystal Italic1.ttf
media7a.ico
media7b.ico
Media8a.ico
Media8b.ico
Subtitles Overlay
Various
How To (C#)
PVSAVPlayerHowTo
bin
Debug
PVS.AVPlayer.dll
PVS.AVPlayer.XML
Release
obj
Debug
Release
Properties
How To (VB.NET)
PVSAVPlayerHowToVB
bin
Debug
PVS.AVPlayer.dll
PVS.AVPlayer.XML
Release
My Project
Application.myapp
obj
Debug
Release
PVSAVPlayerHowTo.vbproj.user
PVS.AVPlayer Examples
AVPlayerExample.ex_
FolderView.ex_
AVPlayerExample.exe
FolderView.exe
PVS.AVPlayer.dll

Public Class Overlay

    ' This is an sample PVS.AVPlayer display overlay.
    ' It shows a label with the text "Display Overlay" on top of movies.
    ' As an example of overlay 'animation' the text is made 'flashing'.

    ' The background color is 'close' to the text color to prevent
    ' visible 'borders' around the letters of the text.

    ' The text remains in the middle of the video image because
    ' the label is 'anchored' on all sides of the form and the
    ' text is centered (TextAlign MiddleCenter).

    ' The display overlay (Form) also contains a label
    ' that is used to display subtitles.


    ' **** Class Fields ***************************************************************************

#Region "Class fields"

    Private ReadOnly FOREGROUND_COLOR As Color = Color.Red ' = 255, 0, 0
    Private ReadOnly BACKGROUND_COLOR As Color = Color.FromArgb(200, 0, 0)
    Private Const TIMER_INTERVAL As Integer = 600

    Private flashTimer As Timer     ' the timer used for flashing text
    Private flashOn As Boolean      ' the state of the flashing text
    Private wasDisposed As Boolean  ' used with cleaning up

#End Region

    ' **** Main ***************************************************************************

#Region "Main"

    Public Sub New()
        InitializeComponent() ' this call is required by the designer.

        subtitlesLabel.Text = ""

        flashTimer = New Timer()
        flashTimer.Interval = TIMER_INTERVAL
        AddHandler flashTimer.Tick, AddressOf FlashTimer_Tick
    End Sub

    ' The animation (timer) is switched on/off when the form's visibility changes,
    ' The form's visibility (among other) changes when the overlay is activated/deactivated by the player:
    Private Sub Overlay_VisibleChanged(sender As Object, e As EventArgs) Handles MyBase.VisibleChanged
        If Me.Visible Then
            flashOn = False
            Label1.ForeColor = FOREGROUND_COLOR
            flashTimer.Start()
        Else
            flashTimer.Stop()
        End If
    End Sub

    ' Here the 'animation' (text flashing) is done
    Private Sub FlashTimer_Tick(sender As Object, e As EventArgs)
        If flashOn Then
            Label1.ForeColor = FOREGROUND_COLOR
        Else
            Label1.ForeColor = BACKGROUND_COLOR
        End If
        flashOn = Not flashOn
    End Sub

    ' Clean Up - this is moved here from the 'Overlay.Designer.vb' file and appended:
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If Not wasDisposed Then
                wasDisposed = True
                If disposing Then
                    If (flashTimer IsNot Nothing) Then flashTimer.Dispose()
                    ' used by the designer - clean up:
                    If components IsNot Nothing Then components.Dispose()
                End If
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

#End Region

End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Peter Vegter
United States United States
No Biography provided

You may also be interested in...

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web05-2016 | 2.8.181116.1 | Last Updated 7 Aug 2018
Article Copyright 2010 by Peter Vegter
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid