silverlight视频、音频
<UserControl x:Class="MediaStudy.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="" d:DesignWidth=""> <Grid x:Name="LayoutRoot" Background="White">
<StackPanel Margin="" Width="">
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="" Foreground="DarkGray">Time:</TextBlock>
<TextBlock x:Name="timeTextBlock" FontSize=""/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="" Foreground="DarkGray">Type:</TextBlock>
<TextBlock x:Name="typeTextBlock" FontSize=""/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="" Foreground="DarkGray">Value:</TextBlock>
<TextBlock x:Name="valueTextBlock" FontSize=""/>
</StackPanel>
<StackPanel>
<Button Click="StopMedia"
Grid.Column="" Grid.Row="" Content="Stop"/>
<Button Click="PauseMedia"
Grid.Column="" Grid.Row="" Content="Pause"/>
<Button Click="PlayMedia"
Grid.Column="" Grid.Row="" Content="Play"/>
</StackPanel>
<!-- The MediaElement has the MarkerReached event attached. -->
<MediaElement x:Name="myMediaElemnet" MarkerReached="OnMarkerReached" HorizontalAlignment="Left" Source="thebutterflyandthebear.wmv"
Width="" Height=""/>
</StackPanel>
</Grid>
</UserControl>
(2)后台代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes; namespace MediaStudy
{ //音频视频
//(一)MediaElement 对象:向页面添加媒体的操作十分简单,只需将 MediaElement 添加到标记并为要播放的媒体提供统一资源标识符 (URI)
//(1)AutoPlay:指定 MediaElement 是否应自动开始播放。默认值为 true。
//(2)IsMuted:指定 MediaElement 是否静音。true 值将使 MediaElement 静音。默认值为 false。
//(3)Stretch:指定如何拉伸视频以填充 MediaElement 对象。可能值为 None、Uniform、UniformToFill 和 Fill。默认值为 Fill。有关更多信息,请参见 Stretch 枚举。
//(4)Volume:指定介于 0 到 1 的 MediaElement 对象的音频音量值,1 表示最大音量。默认值为 0.5。
//(二)视频播放机:包括播放控制,进度/查找滑块以及全屏切换
//1)TimelineMarker类时间线标记(同步点):与媒体文件中的特定点关联的元数据
// (1)通常是事先创建的,存储在媒体文件本身中
// (2)通常用于命名视频中的不同场景,允许用户查找所选位置或提供脚本提示
// (3)在播放期间当 MediaElement 到达某一时间线标记时,将引发 MarkerReached 事件。
// (4)TimelineMarker对象提供以下属性,用于描述时间、名称和值:
//Time:指定到达标记的时间的 TimeSpan 结构。
//Type:指定标记类型的字符串。此值可以是用户定义的任意字符串。
//Text:指定标记值的字符串。此值可以是用户定义的任意字符串。
// (5)MediaElement 对象的 Markers 属性允许您访问存储在当前播放的媒体文件中的嵌入了标头的标记。还可以使用此属性添加新的时间线标记
// 定义媒体标记有二种方法方法:
// a.使用某个编辑器(如 Windows Media 文件编辑器,作为 Windows Media Encoder 9 系统的一部分安装)
// b.TimelineMarker 对象并通过 Markers 属性将这些对象添加到 MediaElement(这些时间线标记是临时的,如果加入新的媒体会丢失)
//2)MediaElement.Markers属性:获取与当前加载的媒体文件相关联的时间线标记的集合。
// (1)每次当此 MediaElement 打开一个新的源文件时,都会清除和重新填充此集合
// (2)并且仅当发生 MediaOpened 事件后此集合才被视为有效 publicpartialclass MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.Loaded +=new RoutedEventHandler(MainPage_Loaded); } void MainPage_Loaded(object sender, RoutedEventArgs e)
{
myMediaElemnet.AutoPlay =false;
myMediaElemnet.MediaOpened +=new RoutedEventHandler(myMediaElemnet_MediaOpened); } //添加新的时间线标记(并且仅当发生 MediaOpened 事件后此集合才被视为有效)
void myMediaElemnet_MediaOpened(object sender, RoutedEventArgs e)
{
//创建时间线
TimelineMarker temp =new TimelineMarker();
temp.Text ="喜欢你";
temp.Time =new TimeSpan(, , );
temp.Type ="";
TimelineMarker temp1 =new TimelineMarker();
temp1.Text ="爱你";
temp1.Time =new TimeSpan(, , );
temp1.Type ="";
//将时间线通过Markers赋给MediaElement
myMediaElemnet.Markers.Add(temp);
myMediaElemnet.Markers.Add(temp1);
} //达某一时间线标记时,将引发 MarkerReached 事件
privatevoid OnMarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
{
timeTextBlock.Text = e.Marker.Time.Seconds.ToString();
typeTextBlock.Text = e.Marker.Type.ToString();
valueTextBlock.Text = e.Marker.Text.ToString();
}
privatevoid StopMedia(object sender, RoutedEventArgs e)
{
myMediaElemnet.Stop();
}
privatevoid PauseMedia(object sender, RoutedEventArgs e)
{
myMediaElemnet.Pause();
}
privatevoid PlayMedia(object sender, RoutedEventArgs e)
{
myMediaElemnet.Play();
} }
}
silverlight视频、音频的更多相关文章
- H5新特性-视频,音频-Flash-canvas绘图
json格式 json - > AJAX json:数据格式,通常是以字符串形式表示 对象 {"name":"james","age" ...
- [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作
[原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...
- HTML的媒体元素(视频+音频)
网页的媒体元素 包括 视频 音频 首先创建一个文件夹,放视频和音频 播放(非自动播放+自动播放) 视频播放 1.1. 打开网页不自动播放 <video src="../ ...
- php-ffmpeg 操作视频/音频文件
php-ffmpeg 是一个php操作视频/音频文件的类库. GitHub地址:https://github.com/PHP-FFMpeg/PHP-FFMpeg/ 使用composer快速安装:com ...
- 视频处理控件TVideoGrabber如何重新编码视频/音频(2)
在前面的文中<视频处理控件TVideoGrabber如何重新编码视频>已经讲解了部分TVideoGrabber重新编码音频.视频剪辑的内容,下面将继续说明. 重新编码进程 重新编码开始时, ...
- HTML 5 视频/音频
HTML5 Audio/Video 方法 方法 描述 addTextTrack() 向音频/视频添加新的文本轨道 canPlayType() 检测浏览器是否能播放指定的音频/视频类型 load() 重 ...
- 测试开发之前端——No9.HTML5中的视频/音频
HTML5 视频和音频的 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法.属性和事件. 这些方法.属性和事件允许您使用 JavaS ...
- Html5中 视频 音频标签 进度条问题
最近项目中使用Html5的video和audio标签来在线播放视频和音频文件,但是遇到个奇葩的问题,页面上播放之后进度条无效, 查看w3c之后发现html代码并没有什么不同,之后猜想如果用静态的htm ...
- C#调用FFMPEG实现桌面录制(视频+音频+生成本地文件)
不得不说FFMPEG真是个神奇的玩意,所接触的部分不过万一.网上有个很火的例子是c++方面的,当然这个功能还是用c++来实现比较妥当. 然而我不会c++ 因为我的功能需求比较简单,只要实现基本的录制就 ...
随机推荐
- Java最重要的21个技术点和知识点之JAVA面向对象
(二)Java最重要的21个技术点和知识点之JAVA面向对象 写这篇文章的目的是想总结一下自己这么多年JAVA培训的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的J ...
- org.apache.hadoop.conf-Configured
org.apache.hadoop.conf中的最后一个类,也是这个包中以后用的最频繁的一个,Configurable算是肉体,Configuration算是灵魂吧 package org.apach ...
- WPF 之 后台设置Image的Souce
后台动态设置Image的Souce. 方法一: BitmapImage imgSource = new BitmapImage(new Uri("location",UriKind ...
- JavaScript 获取当前时间戳的代码
avaScript 获取当前时间戳: 第一种方法: 复制代码代码如下: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: ...
- 跨平台高效率Lua网络库 ( 同步形式的API ,底层是异步非阻塞)
Joynet 项目地址:https://github.com/IronsDu/Joynet 介绍 high performance network library for lua, based on ...
- python用装饰器实现缓存函数执行结果
根据调用的函数名和调用的参数,对函数的结果进行缓存,下次执行的时候就不用重复计算 可以用装饰器来实现 import time import hashlib import pickle cach ...
- 【转】ViewGroup的onMeasure和onLayout分析
ViewGroup的onMeasure和onLayout分析 一个Viewgroup基本的继承类格式如下: 1 import android.content.Context; 2 import and ...
- 剑指Offer06 旋转数组的最小值
/************************************************************************* > File Name: 06_MinNum ...
- hdu 4409 LCA
思路:就是个比较裸的LCA了,不过要注意的是,如果a和b的公共祖先是a,那么答案就是farther[a]. #include<cstring> #include<cmath> ...
- CF 335B - Palindrome 区间DP
335B - Palindrome 题目: 给出一个字符串(均有小写字母组成),如果有长度为100的回文子串,输出该子串.否则输出最长的回文子串. 分析: 虽然输入串的长度比较长,但是如果存在单个字母 ...