WPF/E 实现页面嵌入播放器示例

本文介绍如何使用WPF/E技术在网页中嵌入媒体播放器。通过创建WPF/E应用程序并将其嵌入ASPX页面,实现点击按钮触发媒体文件播放。涉及XAML、JavaScript交互及媒体元素应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现该例子一定要安装 WPF/E和SDK。

1、新建一个wpf/e Javascript Application。

 

2、修改 plugin.xaml,增加 MediaElement 元素(红色粗体部分)

<canvas xmlns="http://schemas.microsoft.com/client/2007"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Loaded="javascript:root_Loaded">
  <Canvas x:Name="button">
    <Rectangle Stroke="#FF8E8E8E" StrokeThickness="2" RadiusX="2" RadiusY="2" Height="23" Width="75">
      <Rectangle.Fill>
        <LinearGradientBrush StartPoint="0.5,2.109" EndPoint="0.5,-1.109">
          <GradientStop x:Name="gradientStop1" Color="#FFFF9E00" Offset="1"/>
          <GradientStop x:Name="gradientStop2" Color="#FFEAEAEA" Offset="0.218"/>
        </LinearGradientBrush>
      </Rectangle.Fill>
    </Rectangle>
    <TextBlock Canvas.Top="3" Canvas.Left="13" FontSize="12" Foreground="#FF5A5A5A" Text="Click Me" />
  </Canvas>
 <Canvas x:Name="video">
  <MediaElement  x:Name="mediaElement" Canvas.Top="0" Canvas.Left="0" Height="400" Width="400" />
 </Canvas>

</Canvas>

 

3、增加一个新的.aspx页面,命名为webform1.aspx。把default.html里源html代码复制粘贴到webform1.aspx里(只保留第一行page指令)。完成后webform1.aspx为:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WPFEJSApplication1.WebForm1" %>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <script type="text/javascript" src="js/aghost.js"></script>
    <script type="text/javascript" src="js/eventhandlers.js"></script>
</head>
<body>
    <form>
        <div id="wpfeControl1Host" >
            <script type="text/javascript">
             new agHost("wpfeControl1Host", // hostElementID (HTML element to put WPF/E control into)
                        "wpfeControl1",     // ID of the WPF/E ActiveX control we create
                        "400",              // Width
                        "400",              // Height
                        "white",            // Background color
                        null,               // SourceElement (name of script tag containing xaml)
                        "plugin.xaml",      // Source file
                        "false",            // IsWindowless
                        "30",               // MaxFrameRate
                        null                // OnError handler   
                       );
            </script>
        </div>
    </form>
</body>
</html>

 

4、在webform1.aspx的<head>里增加播放媒体的脚本:

<script>
function playMedia()
{
 var wpfeControl = document.getElementById("wpfeControl1");
 var mediaElement = wpfeControl.findName("mediaElement");
 mediaElement.source = '<%=Request["src"]%>';
 mediaElement.width = 400;
 mediaElement.height = 400;
 mediaElement.play();
}
</script>

 

5、打开js目录里的eventhandlers.js,在handlemouseup方法最后增加开始播放的脚本:

function handleMouseUp(sender, eventArgs) {
 var gradientStop1 = sender.findName("gradientStop1");
 var gradientStop2 = sender.findName("gradientStop2");
 gradientStop1.offset = 1;
 gradientStop2.offset = .403;
 
 alert("Clicked");
 playMedia();
}

 

6、设置webform1.aspx为起始页,按f5调试运行。在打开的ie中重新输入url为http://你的Web服务器/WebForm1.aspx?src=http://localhost/test.wmv 。后面跟的 src= 参数为你所要播放的媒体文件的地址。至此,效果图如下。你按Click Me后,弹出"Clicked"对话框,按确定后开始播放媒体文件。

你可以在网页中嵌入上述代码(或用iframe)页面,并指定媒体文件地址实现页面嵌入播放指定媒体的功能。当然,你还可以扩展使之像一个web mediaplayer或一个web电影院。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值