当前位置: 首页 > 编程日记 > 正文

在页面中控制媒体流的起播点和播放长度

    近来在一个web项目中,客户提出需要在试听的音频文件中,输入开始时间和结束时间,然后从开始时间播放,到结束时间停止。在google中搜索了几次,都找不到相关的文档,只有自己进行研究了。

    刚开始的时候,将主要精力放在了Media Player控件的属性上,找到了以下几个相关的属性:

       CurrentPosition 返回或设置剪辑的当前位置(双精度型)

       Duration 返回或设置剪辑剪辑的播放时间(双精度型)

       SelectionEnd 返回或设置流的结束位置(双精度型)

SelectionStart 返回或设置流的起始位置(双精度型)

经过测试,通过控制CurrentPosition属性,可以实现需要的功能。而其他三个属性基本上不起任何作用。但是,当页面放到远程服务器的时候,发现该功能不起作用了。原来在缓冲还没到达开始播出时间的时候,是跳转不了。

后来只能埋头于研究Windows Media Player 9 Series SDK,发现在Windows Media Metafile Elements ReferenceSTARTTIMEDURATION两个Element正是我所需要的。而要使用这两个Element需要在asx文件中。

asx文件格式如下:

<ASX VERSION="3.0">

    <TITLE>Your title here</TITLE>

    <ENTRY>

        <REF HREF ="音频文件访问路径" />

        <STARTTIME VALUE="0:30.0" />

        <DURATION VALUE="00:50" />

    </ENTRY>

</ASX>

经过多次测试,方案可行。现在的问题就简单了。就是让用户提交开始时间和结束时间后生成asx文件,然后将文件送到media player就行了。

以下是我做的访问界面:

不过在测试过程中,发现文件传送过去了,但media player播放不了,奇怪了。测试发现直接用本地的media player播放是没有问题的,那么问题肯定是出在页面中media player的属性上。我将media player的参数减少到只剩下filename一个属性,发现居然行了。然后再将autostart属性设置为false,发现不能工作了。最后只好将autostart属性设置为true

最终播放器的德属性设置如下:

<param name="AutoStart" value="true">

<param name="Filename" value="">

<param name="ShowPositionControls" value="true">

<param name="ShowStatusBar" value="true">

转载于:https://www.cnblogs.com/hainange/archive/2005/05/25/6334372.html

相关文章:

CSS之定位(粘滞定位)

粘滞定位&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>粘滞定位</title><style>body{height: 3000px;}/*粘滞定位-当元素的position属性值设置为sticky时开启元素的粘滞定位-粘滞定位和相对定…

链表的经常使用操作

链表的经常使用操作 posted on 2017-06-18 10:38 mthoutai 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/mthoutai/p/7043708.html

从零打造在线网盘系统之Hibernate框架起步

欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2SpringHibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重地阐述SSH三个框架的基础知识,第四部分将会进入项目实战,如果您已经对SSH框架有所掌握,那么可以直接浏览…

Mr Big [To be with you]

很惊喜&#xff0c;在musictea上看到了Mr Big的专辑Lean Into It&#xff0c;里面则是包含了他最出名的To be with you 赶忙去听&#xff0c;果然是原汁原味的To be with you&#xff0c;相比而言&#xff0c;westlife的翻唱版则是夹杂了popmusic的那种浮华。还是很喜欢这种摇滚…

2018.11.12

1、CSS3新增选择器&#xff0c;新增伪类选择器 3、动画规则&#xff1a; keyframes创建动画&#xff0c;规定动画属性&#xff1a; animation 所有动画属性的简写4、其他待看样式多列、用户界面、图片、按钮、分页、框大小、弹性盒子、多媒体查询 2、样式属性…

使用Singleton需要考虑内存释放

GoF[p84]所说的Singleton没有考虑到内存的释放解决方法&#xff1a;1、加入一个成员函数DestroyInstance&#xff08;&#xff09;来释放内存&#xff0c;在整个工程中需且仅需调用DestroyInstance&#xff08;&#xff09;一次。2、ME中说用智能指针 转载于:https://www.cnblo…

搭建基于Spring Cloud的微服务应用

原文链接 在2017云栖大会-上海峰会上阿里云技术专家李斌做了题为《搭建基于spring Cloud的微服务应用》的分享。随着时代的发展&#xff0c;用户对于应用服务的要求越来越高&#xff0c;单体应用已经无法满足用户。这就使得微服务应用顺势而生&#xff0c;利用Spring Cloud为用…

CSS之定位(绝对定位元素的布局)

绝对定位元素的布局&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>绝对定位元素的布局</title><style>.box1{width: 500px;height: 500px;background-color: #7FFFD4;position: relative;}.box…

【转】学习汇编前你应该知道的知识

转载地址&#xff1a;http://www.zxbc.cn/html/20070611/22772.html 1、汇编需要什么工具和程序&#xff0c;到哪里下载&#xff1f;目前阶段&#xff0c;汇编程序仅需要两个程序就够了。masm.exe,link.exe。 前者是编译程序&#xff0c;后者是链接程序。另外&#xff0c;为了验…

Visual C#弹出窗口杀手

2002-11-19 ASPCool.com 弹出窗口杀手是一个可以自动关闭IE弹出窗口的程序&#xff0c;它工作在系统的托盘中&#xff0c;按照一定的间隔来检测IE窗口&#xff0c;然后关闭弹出窗体。最后&#xff0c;还提供了用热键来杀掉弹出窗口的功能。   虽然已经有类似的用C写的程序&am…

在Vue的webpack中结合runder函数

在Vue的webpack中结合runder函数 1.引入: <h1>下面是vue的内容:</h1><div id"app"><login></login> </div>2.main.js //默认无法打包vue文件 需安装vue-loader import Vue from vue import login from ./login.vuevar vm new…

CSS之定位(元素的层级z-index)

元素的层级z-index: <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>绝对定位元素的布局</title><style>.box1{width: 500px;height: 500px;background-color: #7FFFD4;position: relative;}.box2{width: 100…

忍不住要发感慨,我的这个罗技鼠真好用...

终于忍不住了&#xff0c;把台式机上的罗技鼠换到了本本上&#xff0c;我这个当初花了100元买的罗技鼠真的是好用&#xff0c;至少对我而言如是。总感觉我的那个极动鲨有些厚重&#xff0c;虽然他也一样好用&#xff0c;但同这个罗技鼠相比&#xff0c;却多了分厚重&#xff0c…

五种常用的JavaScript自定义对象方式

一、直接创建方式&#xff1a; 例子&#xff1a; var student new Object(); student.name"Kate"; student.doSprot function(name){console.log(name"正在跑步。。。") } //调用 console.log(student.name); student.doSprot("小红"); conso…

LabelButtonScale

top.geometry()设定窗口的初始大小 scale.set()设定滑块的初始值 scale.get()获取滑块变化的值 控件通过回调函数与其他控件进行通信&#xff08;Label控件中的文本会受到Scale控件上操作的影响&#xff09; 转载于:https://www.cnblogs.com/TmHm/p/9949947.html

《The Sixth Sense》(《灵异第六感》)观后

记得在学校的时候看过一部片子《左眼看到鬼》&#xff0c;现在想想那部片子有抄袭《Tht Sixth Sense》的嫌疑。不过抄袭也差得远。 现在真的懒得看港台片了&#xff0c;国内的农村&#xff0c;山村题材的都比港台的垃圾片好很多,至少还有几分真。 看了《The Sixth Sense》不得不…

mysql基本命令行

连接登录数据库 mysql -h 127.0.0.1 -P 3306 -u root -p123456 查看数据库 mysql> show databases; 进入数据库test mysql> use test; 查看test数据库中所有表 mysql> show tables; 查看表student的创建语言 mysql> show create table student \g; 查看表student的…

【备忘1】防止表格/层 被撑破的CSS控制代码

①防止表格被宽度过大的图片撑破限制大图片显示尺寸img {max-width: 550px; width:expression(this.width > 550 ? "550px" : this.width)}②防止表格被字符撑破做到既防止表格/层撑破又防止单词断裂了table {table-layout: fixed;word-wrap:break-word;}div {wo…

修改ecshop的100种技巧

1: 如何修改网站 " 欢迎光临本店 " 回答 :languages/zh_cn/common.PHP 文件中&#xff0c; $_LANG[welcome] 欢迎光临本店 ; 将他修改成你需要的字样。 2: 如何修改首页 " 热门搜索关键字 " 回答 : 后台 -> 系统设置 -> 网店设置 -> 显示设置 -…

用js 判断datagrid 中的 checkbox 是否被选中

privatevoidPage_Load(objectsender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 this.sqlDataAdapter1.Fill (this.dataSet11 ); this.DataGrid1.DataSourcethis.dataSet11.Tables[0]; this.DataGrid1 .…

Navicat新建查询快捷键

在Navicat中&#xff0c;我们选中一个表&#xff0c;双击打开&#xff0c;这是如果要新建查询这个表的sql语句&#xff0c;可以直接用快捷键 ctrlq 会自动打开查询窗口&#xff0c;并直接写好 sql&#xff1a;select * from &#xff08;当前打开的表名&#xff09; 我们直接…

用JavaScript实现在网页中显示时间表

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>内置对象</title><style>#time{display: block;font-size: 50px;font-family: "微软雅黑";background-color: antiquewhite;text-align: center;}<…

分布式数据库概述

1&#xff0e;前言 随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充&#xff0c;数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足&#xff1a;数据按实际需要已在网络上分布存储&#xff0c;再采用集中式处理&am…

JavaScript中substr()和substring的区别

例子&#xff1a; var letters "abcdefg"; console.log(letters.substr(1,3))//结果为bcd console.log(letters.substring(1,3));//结果为bc区别&#xff1a; substr(start,length)是从起始索引号开始提取指定长度的字符串&#xff1b;substring(start,stop)是提取…

vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)

预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了&#xff0c;就是对源文件进行编译前&#xff0c;先对预处理部分进行处理&#xff0c;然后对处理后的代码进行编译。这样做的好处是&#xff0c;经过处理后的代码&#xff0c;将会变的很精短。 关于预处…

Tech.Ed2005 讲义下载地址

前天刚刚下载了微软技术大会 Tech.Ed2005 讲义全文&#xff0c;我打了包&#xff0c;供大家下载 下载地址&#xff1a;Tech.Ed2005 讲义下载

Educational Codeforces Round 54

这套题不难&#xff0c;但是场上数据水&#xff0c;导致有很多叉点 A. 因为是让求删掉一个后字典序最小&#xff0c;那么当a[i]>a[i1]的时候&#xff0c;删掉a[i]一定最优&#xff01;这个题有个叉点&#xff0c;当扫完一遍如果没有满足条件的&#xff0c;就删去最后一个字符…

武夷游记(二)

在竹筏漂流九曲溪之前导游就告诫我们&#xff1a;要给艄公小费&#xff0c;才能划得慢而且讲得多。但同船渡的都是年轻人&#xff0c;不明就理的我们不知道什么时候给。果不其然&#xff0c;一路上船划得飞快&#xff0c;势如强弩&#xff0c;连超了好几艘竹排&#xff0c;要是…

【bzoj3261】最大异或和 可持久化Trie树

题目描述 给定一个非负整数序列 {a}&#xff0c;初始长度为 N。 有M个操作&#xff0c;有以下两种操作类型&#xff1a;1、A x&#xff1a;添加操作&#xff0c;表示在序列末尾添加一个数 x&#xff0c;序列的长度 N1。2、Q l r x&#xff1a;询问操作&#xff0c;你需要…

如何给HTML添加事件?

第一种方式&#xff1a; 直接在相应的HTML标签中添加相应的属性&#xff0c;通过属性去添加事件。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML添加事件的方式&#xff08;一&#xff09;</title><scri…