Click here to Skip to main content
13,250,029 members (65,653 online)
Click here to Skip to main content

Stats

25.8K views
1.7K downloads
5 bookmarked
Posted 8 Sep 2011

Play AVI files in Silverlight 5 using MediaElement and MediaStreamSource - P/Invoke

, 14 Sep 2011
This code demostrates how to use Silverlight 5 with OOB+elevated trust to play a local video (.avi). Uses P/Invoke support for native code
CMSS_S5_plusWriteableBitmap
Silverlight5_SampleVB1
Bin
Debug
Silverlight5_SampleVB1.dll
Silverlight5_SampleVB1.xap
Classes
My Project
Silverlight5_SampleVB1.vbproj.user
Silverlight5_SampleVB1.Web
bin
Silverlight5_SampleVB1.Web.dll
Silverlight5_SampleVB1.Web.pdb
ClientBin
Silverlight5_SampleVB1.xap
My Project
Application.myapp
MyExtensions
Silverlight5_SampleVB1.Web.vbproj.user
CustomMediaStreamSourceS5
Silverlight5_SampleVB1
Bin
Debug
Silverlight5_SampleVB1.dll
Silverlight5_SampleVB1.xap
Classes
My Project
Silverlight5_SampleVB1.vbproj.user
Silverlight5_SampleVB1.Web
bin
Silverlight5_SampleVB1.Web.dll
Silverlight5_SampleVB1.Web.pdb
ClientBin
Silverlight5_SampleVB1.xap
My Project
Application.myapp
MyExtensions
Silverlight5_SampleVB1.Web.vbproj.user
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<!-- saved from url=(0014)about:internet -->
<head>
    <title>Silverlight5_SampleVB1</title>
    <style type="text/css">
    html, body {
	    height: 100%;
	    overflow: auto;
    }
    body {
	    padding: 0;
	    margin: 0;
    }
    #silverlightControlHost {
	    height: 100%;
	    text-align:center;
    }
    </style>
    
    <script type="text/javascript">
        function onSilverlightError(sender, args) {
            var appSource = "";
            if (sender != null && sender != 0) {
              appSource = sender.getHost().Source;
            }
            
            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;

            if (errorType == "ImageError" || errorType == "MediaError") {
              return;
            }

            var errMsg = "Unhandled Error in Silverlight Application " +  appSource + "\n" ;

            errMsg += "Code: "+ iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError") {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") {           
                if (args.lineNumber != 0) {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " +  args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server" style="height:100%">
    <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
		  <param name="source" value="Silverlight5_SampleVB1.xap"/>
		  <param name="onError" value="onSilverlightError" />
		  <param name="background" value="white" />
		  <param name="minRuntimeVersion" value="5.0.60818.0" />
		  <param name="autoUpgrade" value="true" />
		  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.60818.0" style="text-decoration:none">
 			  <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
		  </a>
	    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
    </form>
</body>
</html>

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

Amir Eshaq
Other Norconsult Telematics, KSA
Canada Canada
I have been a Developer for many years. I have worked as Senior Developer in Kenya, Canada and Saudi Arabia. I enjoy coding and I am looking forward to more challenges with new Technologies

I am currently IT Manager at Norconsult Telematics, Saudi Arabia.

You may also be interested in...

Pro
Pro
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.171114.1 | Last Updated 14 Sep 2011
Article Copyright 2011 by Amir Eshaq
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid