zoukankan      html  css  js  c++  java
  • wp开发中当MediaElement和VideoBrush合作的时候

    前面说的那么多控件都是“静态”的,都是“哑吧”的,今天,你有没有兴趣研究一下,既能“有声有色”又操作简单的控件吗?如果有,请随我来。

    这里有一些比较好的wp应用和游戏源码:http://code.662p.com/list/14_1.html
    MediaElement播放多媒体文件。
    首先,隆重介绍一下MediaElement,为什么要隆重呢?因为它简单,真的,你一定会玩的,但是,MediaElement功能强大,它可以播放音频和视频,只要支持的格式就行了。
    要设置播放的音频或视频文件,你只需要设置Source属性即可,它其实就是一个URI,如果要播放你项目中的媒体文件,你先要把媒体文件添加到你的项目中,把它的生成操作设置为资源,不用我说了,都会了吧。
    你一定会问,能播放网络的URI指向的媒体文件吗?呵,你试一试就知道了。

    闲话不扯了,开始做练习,首先自备一个3gp或MP4文件,你自己随便找一个,当然,其它格式也可以,呵呵,只要支持就行了,因为我们在模拟器中观看效果,所以最后用一些常用的格式,模拟器不是所有的媒体文件都能支持,具体请参考SDK文档相关说明。
    MediaElement是非常易用的,我简单说说它的一些常用的属性,相信你自己研究两下就懂的。
    1、Source:刚才说了,就是你要播放的媒体文件;
    2、AutoPlay:是否自动播放,呵,这个估计你比我更懂了;
    3、Balance:立体声左右声道的音量比,就是一个平衡值,从-1到1,0在中间,所以是默认值;
    4、Stretch:与Image控件一样,如何拉伸,或者保持纵横比;
    5、Volume:音量,0-1范围内,默认0.5.
    好的,下面看看第一个练习的布局。

      <phone:PhoneApplicationPage.Resources>
            <LinearGradientBrush x:Key="pathFill" StartPoint="0.5,0" EndPoint="0.5,1">
                <GradientStop Color="LightGreen" Offset="0"/>
                <GradientStop Color="Orange" Offset="1"/>
            </LinearGradientBrush>
            <Style x:Key="btnStyle" TargetType="Button">
                <Setter Property="Height" Value="80"/>
                <Setter Property="Width" Value="80"/>
                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                <Setter Property="VerticalContentAlignment" Value="Stretch"/>
                <Setter Property="BorderThickness" Value="0"/>
            </Style>
        </phone:PhoneApplicationPage.Resources>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="auto"/>
            </Grid.ColumnDefinitions>
            <StackPanel Orientation="Vertical"
                        Grid.Column="1">
                <Button Name="btnPlay" Style="{StaticResource btnStyle}" Click="btnPlay_Click">
                    <Button.Content>
                        <Path Data="M0,0 L0,40 L40,20 Z" Fill="{StaticResource pathFill}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Button.Content>
                </Button>
                <Button Name="btnPause" Style="{StaticResource btnStyle}" Click="btnPause_Click">
                    <Button.Content>
                        <Path Data="M0,0 L0,40 L15,40 L15,0 Z M25,0 L25,40 L40,40 L40,0" Fill="{StaticResource pathFill}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Button.Content>
                </Button>
                <Button Name="btnStop" Style="{StaticResource btnStyle}" Click="btnStop_Click">
                    <Button.Content>
                        <Path Data="M0,0 L0,40 L40,40 L40,0 Z" Fill="{StaticResource pathFill}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Button.Content>
                </Button>
    
            </StackPanel>
            
            <MediaElement x:Name="me" Grid.Column="0"
                          Source="2.mp4" AutoPlay="False"/>
        </Grid>
    

      详细说明:http://wp.662p.com/thread-7955-1-1.html

  • 相关阅读:
    linux下使用c99链接libuv遇到的问题
    linux连接lua遇到的问题
    uv_timer_t的释放问题
    libuv的源码分析(1)
    [转]关于截取字符串substr和substring两者的区别
    输入框获取焦点后placeholder文字消失、修改placeholder的样式
    发送验证码功能
    针对移动浏览器判断不同的内核的方法
    preventDefault()对象
    [转]JQ中$(window).load和$(document).ready区别与执行顺序
  • 原文地址:https://www.cnblogs.com/baidulianweikjj/p/4112034.html
Copyright © 2011-2022 走看看