Win10系列:JavaScript多媒体

布局好前台界面后,下面来应用的后台逻辑功能。打开default.js文件,在文件中的"args.setPromise(WinJS.UI.processAll());"语句后添加如下代码,为"打开"按钮注册click事件处理函数,相关代码如下所示:

document.getElementById("pickFileButton").addEventListener("click", pickFile);

代码调用getElementById函数获取id为"pickFileButton"的button按钮,并使用addEventListener函数为该按钮的click事件注册事件处理函数PickFile。

接下来在"app.onactivated = function (args) {......};"语句后面定义事件处理函数PickFile,实现文件的选取和视频播放功能,相关代码如下所示:

//定义click事件处理函数

function pickFile() {

//创建FileOpenPicker类型的对象

var openPicker = new Windows.Storage.Pickers.FileOpenPicker();

//设置文件选取器的初始位置为视频库

openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.videosLibrary;

//文件类型筛选

openPicker.fileTypeFilter.replaceAll([".mp4", ".wmv"]);

//选取多媒体文件

openPicker.pickSingleFileAsync().then(function (file) {

if (file) {

var localVideo = document.getElementById("videoId");

//为多媒体文件创建URL,并赋值给video控件的src属性

localVideo.src = URL.createObjectURL(file, { oneTimeOnly: true });

//播放这个多媒体文件

localVideo.play();

//成功打开多媒体文件时,给出提示消息

output.innerText = "成功打开了一个多媒体文件!";

}

else{

output.innerText = "请选取一个多媒体文件!";

}

},

//如果出现异常,进行相应的异常处理

function (error) {

output.innerText = "错误:" + error.message;

});

}

上面代码中,首先新建一个FileOpenPicker类型的对象openPicker作为文件选取器,并设置openPicker对象的suggestedStartLocation属性值为videosLibrary,将文件选取器起始位置定位为本地的视频库。然后通过openPicker对象的fileTypeFilter.replaceAll函数,设置文件选取器能够选取的文件类型为".mp4"和".wmv"。接下来调用openPicker对象的pickSingleFileAsync函数来选取多媒体文件,在pickSingleFileAsync函数中,通过if语句对file进行检查,如果file不为空,说明已经选取了文件,那么调用document.getElementById函数获取id属性值为"videoId"的元素,将其赋值给localVideo变量,并调用URL.createObjectURL函数为所选取的多媒体文件创建一个URL,赋值给localVideo对象的src属性。URL.createObjectURL函数有两个参数,一个是file,一个是oneTimeOnly。其中file为所选取的多媒体文件,oneTimeOnly指为多媒体文件创建的URL是否只使用一次。最后调用localVideo对象的play函数来实现视频播放功能,并在p元素中显示提示信息"成功打开了一个多媒体文件!";如果没有选取文件,则会在p元素中显示提示信息"请选取一个多媒体文件!"。

启动调试,界面的初始状态如图19-32所示。单击"打开"按钮,会进入文件选取器界面,默认起始位置是视频库,如果想打开其他位置中的多媒体文件,可以单击"文件"旁边的下拉符号进行选择。这里选择视频库中的"自行车比赛.mp4"视频文件,该文件会加载到video控件中并播放,同时界面中会显示提示信息"成功打开了一个多媒体文件!",运行效果如图19-33所示。

图19-32 界面初始状态

图19-33 多媒体播放的效果

Win10系列:JavaScript多媒体

时间: 2024-10-11 17:34:56

Win10系列:JavaScript多媒体的相关文章

Win10系列:JavaScript 控件的使用

向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Windows应用商店应用提供的新控件,如ListView.HtmlControl和PageControl等.下面首先介绍如何添加这两种类型的控件,然后介绍如何为控件注册事件处理函数和设计控件的样式. (1)添加标准的HTML控件 向页面中添加标准的HTML控件可以通过定义相应的HTML元素来实现.例如

Win10系列:JavaScript综合实例1

上面几个小节讲解了使用HTML5和JavaScript语言开发Windows 应用商店应用时会用到的一些技术,本小节将前面介绍的知识融合在一起创建一个菜谱应用程序,帮助读者更进一步地理解和掌握这些知识. 此菜谱应用程序主要的功能是介绍一些菜肴和主食的做法,其中包含三个页面:第一个页面为主页面,用于按类别显示一些菜肴和主食:第二个页面为分类页面,显示某个类别的信息和属于该类别的菜肴或主食:第三个页面为菜肴页面,显示某项菜肴或主食的详细信息,如名称.图片和具体做法.这三个页面可以相互跳转,例如,在主

Win10系列:JavaScript页内导航

页内导航是在一个页面内根据需要加载其他页面的内容,在开发基于JavaScript的Windows应用商店应用时,可以使用WinJS.Navigation.navigate函数传递要加载的页面地址并使用PageControlNavigator控件加载其他页面的内容.WinJS.Navigation.navigate函数以一个包含页面地址的对象为参数,在该函数执行时将触发WinJS.Navigation.onnavigated事件并把页面地址传递给该事件.PageControlNavigator控件

Win10系列:JavaScript 模板绑定

WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控件的方法相似:在页面中添加一个div元素,将div元素的data-win-control属性设置为WinJS.Binding.Template.定义WinJS库模板以后,需要在Win10系列:JavaScript 模板绑定

Win10系列:JavaScript 动画1

在应用程序中使用动画会使应用显得更加生动,进而给用户带来良好的视觉效果.例如,当用户将某个项添加到列表时,新项不会立即出现在列表中,而是采用动画形式到达相应位置,并且列表中的其他项也采用动画形式移动到新位置,以便为添加的项腾出空间.这样的动画效果能够让用户更清晰地看到变化过程,而不是只能看到变化之后的结果. 应用程序的动画效果可以使用Windows动画库来创建,开发人员无需自己编写动画效果代码即可获得Metro风格的动画外观和效果.另外还可以通过设置页面元素的style对象的相关属性来创建.下面

Win10系列:JavaScript页面导航

页面导航是在开发应用的过程中使用频率较高的技术,其中比较常用的导航方式有多页导航和页内导航,采用多页导航方式的应用程序包含一系列的页面,在一个页面中加入另一个页面的链接地址后,单击链接将跳转到指定页面,从而实现页面之间的导航.而页内导航方式是在一个页面内根据需要加载其他页面,使用页内导航方式的应用程序仍然包含一系列的页面,不同的是,这些页面是顺序被加载到一个选定的页面区域中,而不是从一个页面跳转到另一个页面.在传统的网站开发中,通常使用多页导航的方式,在开发基于JavaScript的Window

Win10系列:C#应用控件基础1

Button控件 在Windows应用商店应用的开发中,Button控件是使用比较频繁的控件之一,当用户单击Button控件时,会触发相应的单击事件并在定义好的事件处理方法中执行指定的功能.下面将介绍Button控件的使用方法. 在XAML文件中,Button控件的用法如下所示: <Button?.../> -或- <Button?...> <!--添加子元素--> </Button> -或- <Button?...> <!--添加字符串-

Win10系列:C#应用控件基础2

HyperlinkButton控件 HyperlinkButton控件是以超链接文本形式显示的按钮,可以为其NavigateUri属性设置一个URI地址,当单击超链接文本按钮时,将会使用浏览器打开在HyperlinkButton控件中定义的URI地址页面. 在XAML文件中,HyperlinkButton控件的用法如下所示: <HyperlinkButton?.../> -或- <HyperlinkButton?...> <!--添加子元素--> </Hyperl

Win10系列:C#应用控件基础3

Win10系列:C#应用控件基础3