音频视频播放教程

 

 

音频/视频播放教程

概述

Tizen 多媒体框架基于 GStreamer 开放源码项目。 媒体框架使您能够播放和操作图像、 视频、 音频和网络电话。 Tizen 平台为 Web 浏览器中的 html5 视频/音频标记和嵌入式播放提供支持。 它还提供服务,以捕获图像、 录制视频和音频/视频播放。

以下是 Tizen 平台提供的音频和视频服务列表:

 

 

 
应用程序 操作 服务说明
URI   MIME
音乐播放器 播放特定的音乐文件 http://tizen.org/appcontrol/operation/view http 音频 / *
http://tizen.org/appcontrol/operation/view 文件 音频 / *
http://tizen.org/appcontrol/operation/view http 视频 / *
http://tizen.org/appcontrol/operation/view 文件 视频 / *
 
相机 启动相机捕捉
图像
http://tizen.org/appcontrol/operation/create_content 文件 图像/jpg
启动相机录制
视频
http://tizen.org/appcontrol/operation/create_content 文件 视频/3gp

Tizen 为从媒体内容提取媒体属性信息和元数据提供支持。 下面列出了 Tizen 平台所支持的编解码器。

  • 音频解码器: AAC、 MP3、 WMA 7/8、 WAV、 Vorbis、 AMR NB / AMR WB
  • 音频编码器: Vorbis、 AMR NB
  • 视频解码器: MPEG-1、MPEG-4 part 2 MS v1/2/3、H.263、H.264、 WMV3、 VC1、 Theora
  • 视频编码器: MPEG-4 part 2、H.263、Theora

 

 

目录

 

 

先决条件

内容 API 提供了两种级别的访问权限, 一种是只读权限,另一种是允许完全读取和写入权限。

要让您的应用程序访问这些功能,在 config.xml中启用它们。

 

 

 

您可以在文件中启用下面的 config.xml权限: 

如果您想手动操作,将以下 标签添加至 config.xml (如下所示)。

    
    
    Application Name

   
   
   

启动 Tizen 媒体服务

要启动基于 Tizen 的媒体播放器,您需要添加 application.launch 权限至您的应用程序 config.xml文件。

    
    
    Application Name
    
    
    
建议您使用 Tizen IDE 界面编辑 config.xml文件。

在模拟器中播放媒体文件

要在模拟器中播放音频,请遵照下面的说明。

 
功能 详情 状态 备注
  音频输入
声音 AC97 设备 支持 用户确保麦克风的输入音量足够
在主机 PC 上录制您的声音或歌曲。
对于 Windows 7,麦克风已在模拟器启动前被添加到主机 PC 中
  音频输出
声音 AC97 设备 支持 用户确保麦克风的输入音量足够
在主机 PC 上录制您的声音或歌曲。
对于 Windows 7,麦克风已在模拟器启动前被添加到主机 PC 中

支持的编解码器

Tizen 支持的容器格式: MP4、 3GP、 AVI、 WM 7/8、 ASF、 MKV、 MP3、 AAC、 WMV、 AMR、 WMA、 OGG、 WAV。

Tizen 支持以下媒体格式和编解码器。

 

 

 
编解码器类型 物理目标 模拟器 说明
  编码器 解码器 编码器 解码器  
音频 AAC O O X O 常见    

  • FFmpeg 插件
  • Vorbis 插件

目标差异:

-使用 h/w 编解码器而不是 FFmpeg 插件

-可用到 WMA9

- 支持 MMF、IMY、SMAF 和 MIDI 类型

模拟器:

-可用到 WMA8

AC3 X O X X
AMR-NB O O O O
AMR-WB O O X O
MP3 X O X O
WMA X O X O
VORBIS O O O O
 
视频 H.263 O O O O 常见    

  • FFmpeg 插件
  • Theora 插件

目标差异:-
使用 h/w 编解码器而不是 FFmpeg 插件

H.264 O O X O
MPEG-1 X O X O
Mpeg-4 part MS v1 X O X O
Mpeg-4 part MS v2、 v3 O O O O
Mpeg-4 part 2 O O O O
VC1 X O X X
THEORA O O O O

检索所有媒体文件夹

API Content 提供各种方法来检索在设备可用的多媒体内容(如音频、 视频、 音乐文件)。 可以使用筛选器来搜索特定的媒体项目 (还可以搜索特定的文件夹)。 API 还支持设置特定的媒体项目属性。 当应用程序启动时,内容对象自动在 Tizen 对象中实例化。 该 Tizen.content 可以用来检索 ContentManager接口实例,提供媒体内容检索功能。

 

ContentManager 接口利用 getDirectories find 方法提供搜索媒体文件夹和项目的功能。 在成功回调中返回找到的文件夹或项目列表。 

若要查找设备上的所有媒体文件夹,首先获取 ContentManager 接口实例,并调用 manager.getDirectories() 方法(无需筛选器参数),如下所示。

// Define the error callback for all the asynchronous calls
function onError(response) {
    console.log( "The following error occurred: " + response.name);
}

// got the folder list as asynchronous calls
function DirectoryArray(directories) {
    console.log("Found directories " + ", directories.length: " + directories.length);
   for (var i = 0; i < directories.length; i++) {
        console.log(i + ":" + " title: " + Directories[i].title);
        console.log("path : " + Directories[i].folderURI);
     }
}
// Get a local media source.
var manager = Tizen.Content;

// Let's try to retrieve the folder list.
manager.getDirectories(DirectoryArray,onError);

如果搜索成功,则调用成功回调,所有文件夹的列表将以一组对象的形式返回 ContentDirectories

使用 HTML5 播放音频

音频元素

 

使用 audio 标签将音频播放器添加到您的应用程序,无需添加任何脚本。 如果在音频元素上设置控件属性,音频播放器将显示一组默认的音频控件。 您还可以通过 JavaScript 和 CSS 自定义音频播放器,而不使用默认播放器。 

如果用户的浏览器不支持 HTML5 音频元素,则音频标签还可以使您在回退时收到错误消息或另一项播放技术。 您可以在音频标签之间放置一条错误消息,也可以插入代码来启动一个外部播放器控件。

下面的代码示例演示如何在您的 HTML5 代码中嵌入音频播放支持。

 

 

    Your device or browser cannot play this audio file

音频元素的属性

Tizen 支持所有的 HTML5 音频属性。 使用 src 属性指定音频文件,并 controls 确保使用了内置的播放器控件。

就像一个 HTML 链接,您可以将音频的路径指定为相对路径或完整的 URI。 例如,相对路径就像这样“media/audiofile.mp3”,完整的 URI 就像“http:\\www.example.com\media\audiofile.mp3”

控件

您可以使用此属性将默认控件添加到您的音频。 该 controls属性是一个 boolean 值。 使用此属性,音频控件将显示,以便用户控制音频文件的播放,包括音量、 寻址和暂停/继续。

 

循环

使用此属性,您可以让播放器一旦到达文件结尾便自动从头开始播放。

自动播放

使用此属性,您可以将播放器设置为在加载页面后立即开始播放。

自动缓冲

使用此属性,您可以将音频设置为自动启动缓冲,即使音频未被设置为自动播放。

预加载

使用此属性,您可以指定音频须在页面加载上加载,并准备好运行。 如果此属性已被使用,则可 autoplay 被忽略。

使用此属性,您可以设置音频元素,用于缓冲大型文件。 您可以设置 3 个可能值之一:

  • “none”表示无缓冲
  • “auto”表示缓冲媒体文件
  • “metadata”表示仅缓冲媒体文件的元数据

使用源元素指定多个音频格式

可使用元素指定多个源文件, source 以便为不同的浏览器提供不同编码格式的音频。 元素源替换 src 标签的 audio 属性。 不同于 src 属性,您可以在标签内 source 包含多个元素 audio 。 浏览器将会加载由第一个源元素所引用的且该浏览器可实际播放的文件。 让我们再看看第一个例子,这次结合源属性一起看。

音频元素可以包含多个源元素,每个源元素均向音频文件指定一个 URL。 浏览器将按文档顺序评估每个源元素,并确定是否可以播放该文件。 如果第一个源元素引用了浏览器不能播放的音频格式,则浏览器将评估下一个源元素。 HTML5 的浏览器会查看每个源元素,直至找到一个具有受支持的编解码器的源元素。 如果浏览器评估了所有的源元素,却未能找到一个能播放的文件,则浏览器会提示用户,通常以错误消息的形式,包含在音频元素内。



    
    HTML5 audio not supported

使用 Type 属性

当有几种不同类型的音频源时,可以使用类型属性,这样更为精确。 该 type 属性告诉浏览器,是否应当尝试加载文件。

浏览器将决定其是否可以支持“类型”中所述的文件格式。如果浏览器不能播放该格式,则不会尝试加载该文件。 在没有属性的情况下,浏览器会尝试加载所有指定的音频格式,直到找到可以支持的格式。 类型属性是可选的。类型属性的值必须是有效的 MIME 类型。

    
    HTML5 audio not supported

使用 Codec 属性

有时,当我们有相同的类型和不同的编解码器需要支持时,则指定编解码器连同类型属性可让浏览器仅访问其所支持的编解码器。 将编解码器属性与类型属性结合使用,有助于浏览器确定是否有必要加载文件,省去不必要的加载流程,然后在稍后时间验证所支持的格式。

    
    HTML5 audio not supported

检索所有音频项目

 

可以用 findContentManager 界面的方法及通过将对象用作参数 AttributeFilter 来搜索音频项目。 

  • find - 检索所有媒体 (音频/视频/图像) 项目。
// Define the error callback for all the asynchronous calls
function onError(response) {
    console.log( "The following error occurred: " + response.name);
}

//List of audio items on the phone.
function mediaItemArray (contents) {
    console.log("Successfully retrieved the list of Audio items");
    for (var i=0; i < contents.length; i++) {
        console.log(i + ":" + contents[i].type + ":" + contents[i].title + ":" +contents[i].mimeType);
        console.log("album:" + contents[i].album);
        console.log("artists:" + contents[i].artists[0]);
        console.log("duration:" + contents[i].duration);
        console.log("playedTime :" + contents[i].playedTime);
        console.log("playCount :" + contents[i].playCount);
        console.log("Item copyright: " + contents[i].copyright);
        console.log("Item bitrate: " + contents[i].bitrate);
        console.log("Item trackNumber: " + contents[i].trackNumber);
        console.log("Item size: " + contents[i].size);
    }
}

// Retrieve the ContentManager interface instance using the tizen global object
var manager = tizen.content;

// Let's try to retrieve the Audio list.
var contentType = "AUDIO";
var filter = new Tizen.AttributeFilter("type", "EXACTLY", ContentType);
console.log("Getting the list of audio files on the phone");
manager.find(MediaItemArray, onError, null, filter);

从内部/外部存储中检索所有音频项目

 

可以使用方法通过将对象当作参数来检索来自内部或外部存储位置的 MediaSource.findItems 音频项目列表 AttributeFilter 。       

var mediaSource;
var index ;
var len = 0;
var folderArray = [];
var typeFilter = new Tizen.AttributeFilter("type", "EXACTLY", "AUDIO");

// Define the error callback for all the asynchronous calls
function onError(response) {
    console.log( "The following error occurred: " + response.name);
}

//List the audio items on the phone.
function MediaItemArraySuccess(media) {
    console.log("Successfully retrieved the list of audio items");
    for(var i in media) {
        console.log(i + ":" + media[i].type + ":" + media[i].title + ":" +media[i].mimeType);
        console.log("album:" + media[i].album);
        console.log("artists:" + media[i].artists[0]);
        console.log("duration:" + media[i].duration);
        console.log("playedTime :" + media[i].playedTime);
        console.log("playCount :" + media[i].playCount);
        console.log("Item copyright: " + media[i].copyright);
        console.log("Item bitrate: " + media[i].bitrate);
        console.log("Item trackNumber: " + media[i].trackNumber);
        console.log("Item size: " + media[i].size);
    }
}

// get the folder list as asynchronous calls
function MediaFolderArray(folders){
    len = folders.length
    for (var i = 0; i < len; i++) {
    if (folders[i].storageType == "INTERNAL") {
        folderArray.push(folders[i]);

        console.log(i + ":" + " title: " + folders[i].title);
        console.log("id: " + folders[i].id);
        console.log("path : " + folders[i].folderURI);
        console.log("storageType : " + folders[i].storageType);
        console.log("modifiedDate : " + folders[i].modifiedDate);
    }
}
    console.log(folders.length + " internal folder(s) found");
    for(index=0; index

流音频

 

Tizen 为多媒体流提供支持。 对于音频流,使用 src 属性将流协议作为 URL 的一部分。    

 

注: 目前的 Tizen 2.1 存在 Mp3 流媒体和其他格式的问题。 只有 OGG 文件格式工作正常。

启动音频播放服务

 

您可以请求系统根据您的要求启动 Tizen 本机音频播放器应用程序。 通过使用 tizen.application.launch() 方法,
您可以请求系统启动提供服务的音频播放器应用程序。 它采用下列参数: 

  • id - 要启动的应用程序的标识符
  • successCallback - 调用成功结束时调用的函数
  • errorCallback - 当发生错误时调用的函数
 // function called on successful launch of music player application
 function onsuccess() {
     console.log("The application has launched successfully");
 }

 tizen.application.launch("org.tizen.music-player", onsuccess);

启动音乐播放器服务与控件

根据您的要求,您也可以启动本机媒体播放器与应用程序控件,即如果您需要音乐播放器来提供某些功能,然后希望在执行所请求的服务后将控件传递回您的应用程序。

可按如下所示完成操作。

//Create an ApplicationControl object and define the desired functionality required from the application to be launched. The application needs to have an operation type suitable for selecting files, with URI as null, and the MIME type as "audio/*" .

var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/view", null, "audio/*");

//Define the format of the reply you want to receive from the application control
var appControlReplyCB =
{
   // Reply is sent if the requested operation is successfully delivered
   onsuccess: function(reply)
   {
      for (var num = 0; num < reply.data.length; num++)
      {
         console.log("reply.data["+num+"].key = "+ reply.data[num].key);
         console.log("reply.data["+num+"].value = "+ reply.data[num].value);
      }
   }
}
// Call the launchAppControl() method to find a suitable application to select the audio files
tizen.application.launchAppControl(appControl, null,
                  function(){console.log("launch appControl succeeded");},
                  function(e){console.log("launch appControl failed. Reason: " + e.name);},
                  appControlReplyCB);

 

 

在 HTML5 中播放视频

HTML5 视频元素

通过使用 video 标签,您可以播放带字幕的视频/电影和音频文件

HTML5 视频元素的属性

Tizen 支持以下属性附上 video 标签:

控件

此属性用于将默认的控件添加到您的视频。 该 controls 属性是一个 boolean 值。 如果经过指定,将显示默认视频控件。

海报

此属性用于在视频下载过程中显示该视频的一帧(如.jpg、.png、 等等...) 。 它可以是本地图片或网络上的图片。

循环

值。 该 loop 属性是一个 boolean 值。 如果指定了该属性,视频就会连续播放 (播放结束后重新播放)。

静音

此属性用于将视频的音频输出静音。 该 muted 属性是一个 boolean 值。 如果指定了该属性,视频播放的音频输出将被静音。

自动播放

当您想要在加载页面后立即开始播放视频,可以使用此属性。 该 autoplay 属性是一个 boolean 值。

检索所有视频项目

 

要查找视频项目,调用 findContentManager 接口的方法,并 AttributeFilter 将对象当作参数。       

  • getLocalMediaSource - 获取本地媒体源,它应用于检索项目。
  • getFolders - 异步获取媒体内容的文件夹。
  • findItems - 异步检索手机中的所有视频。
// Define the error callback for all the asynchronous calls
function onError(response) {
    console.log( "The following error occurred: " + response.name);
}

//List of videos in the phone.
function mediaItems (media) {
    console.log("Successfully retrieved the list of videos");
    for(var i in media) {
        console.log(i + ":" + media[i].type + ":" + media[i].title + ":" +media[i].mimeType);
        console.log("geolocatoin-latitude:" + media[i].geolocation.latitude + " longitude:" + media[i].geolocation.longitude);
        console.log("album:" + media[i].album);
        console.log("artists:" + media[i].artists[0]);
        console.log("duration:" + media[i].duration);
        console.log("width:" + media[i].width);
        console.log("height:" + media[i].height);
        console.log("playedTime :" + media[i].playedTime);
        console.log("playCount :" + media[i].playCount);
      }
}

// Retrieve the ContentManager interface instance using the tizen global object.
var manager = tizen.content;

// Let's try to retrieve the videos list.
var contentType = "VIDEO";
var filter = new Tizen.AttributeFilter("type", "EXACTLY", contentType);
manager.find(MediaItems, onError, null, filter);

从内部/外部存储中检索所有视频项目

 

首先,我们需要从特定存储类型中找到文件夹,然后 find通过将对象作为参数使用 ContentManager 接口的方法 AttributeFilter 查询视频列表。   
下面的示例列出了从内部存储器获取的所有视频项目。    

var mediaSource;
var index = 0;
var len = 0;
var folderArray = [];
var typeFilter = new Tizen.AttributeFilter("type", "EXACTLY", "VIDEO");

// Define the error callback for all the asynchronous calls
function onError(response) {
    console.log( "The following error occurred: " + response.name);
}

//List of videos in the phone.
function MediaItems (media) {
    console.log("Successfully retrieved the list of videos");
    for(var i in media) {
        console.log(i + ":" + media[i].type + ":" + media[i].title + ":" +media[i].mimeType);
        console.log("geolocatoin-latitude:" + media[i].geolocation.latitude + " longitude:" + media[i].geolocation.longitude);
        console.log("album:" + media[i].album);
        console.log("artists:" + media[i].artists[0]);
        console.log("duration:" + media[i].duration);
        console.log("width:" + media[i].width);
        console.log("height:" + media[i].height);
        console.log("playedTime :" + media[i].playedTime);
        console.log("playCount :" + media[i].playCount);
      }

     if(index < len) {
        console.log("Start getting the list of videos from folder with id: "+ folderArray[index].id);
        mediaSource.find(MediaItems, onError, folderArray[index++].id, typeFilter);
      }
}

// get the folder list as asynchronous calls
function MediaFolders (folders){
    console.log(folders.length + " folder(s) found");
    len = folders.length
    for (var i = 0; i < len; i++) {
        if (folders[i].storageType == "INTERNAL") {
             folderArray.push(folders[i]);

             console.log(i + ":" + " title: " + folders[i].title);
             console.log("id: " + folders[i].id);
             console.log("path : " + folders[i].folderURI);
             console.log("storageType : " + folders[i].storageType);
             console.log("modifiedDate : " + folders[i].modifiedDate);
        }
    }
    console.log(folders.length + " internal folder(s) found");
    if(index < len) {
        console.log("Start getting the list of videos from folder with id: "+ folderArray[index].id);
        mediaSource.find(MediaItems, onError, folderArray[index++].id, typeFilter);
    }
}

// Retrieve the ContentManager interface instance using the tizen global object.
mediaSource =  = tizen.content;

console.log("Start getting the list of folders in internal memory");
// Let's try to retrieve the folder list.
mediaSource.getDirectories(MediaFolders,onError);

流视频

 

Tizen 为多媒体流提供支持。 对于视频流,使用 src 属性将流协议作为 URL 的一部分。    

启动视频播放服务与控件

 

如果您不希望在当前应用程序中使用标签播放视频, video 您可以请求系统根据您的要求启动基于 Tizen 的视频播放器应用程序。    

通过使用 Tizen.application.launchAppControl() 方法,您可以请求系统启动提供服务的视频播放器应用程序。 它采用下列参数:

  • appControl - 描述应用程序控件详细信息的数据结构。
  • id - 要启动的应用程序的标识符。 如果 ID 为空或未指定,系统将尝试查找要为所请求的应用程序控件
    启动的应用程序。 [空]
  • successCallback - 调用成功结束时要调用的方法。 [可选][空]
  • errorCallback - 发生错误时要调用的方法。 [可选][空]
  • replyCallback - 当应用程序从启动的应用程序取回结果时要调用的方法。 [可选][空]
//Create an ApplicationControl object and define the desired functionality required from the application to be launched. The application needs to have an operation type suitable for selecting files, with URI as null, and the MIME type as "video/*" .

var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/view", null, "video/*");

Define the format of the reply you want to receive from the application control:
var appControlReplyCB =
{
   // Reply is sent if the requested operation is successfully delivered
   onsuccess: function(reply)
   {
      for (var num = 0; num < reply.data.length; num++)
      {
         console.log("reply.data["+num+"].key = "+ reply.data[num].key);
         console.log("reply.data["+num+"].value = "+ reply.data[num].value);
      }
   }
}
// Call the launchAppControl() method to find a suitable application to select the video files:
tizen.application.launchAppControl(appControl, null,
                 function(){console.log("launch appControl succeeded");},
                 function(e){console.log("launch appControl failed. Reason: " + e.name);},
                 appControlReplyCB);

录制视频

要用后置摄像头录制视频,您可能需要使用本机摄像头应用程序,使用 Tizen 设备 API 应用程序启动和控制方法。目前不支持(或没有公开的 API) web 应用程序直接与设备的后置摄像头通信 。 另一方面,本机应用程序可以使用接口直接访问后置摄像头 Tizen::Media::Camera:

 

一个 ApplicationControl 接口由操作、URI 和 MIME 类型构成。 ApplicationControl 描述摄像头应用程序所执行的操作,并可以通过接口从随后的应用程序携带结果, ApplicationControlData该接口定义了用于通过 ApplicationControl 接口在应用程序之间传递数据的键/值对。 

var appControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/create_content", null, "video/*");

var appControlReplyCB = {
   // callee now sends a reply
   onsuccess: function(reply) {
      for (var num = 0; num < reply.data.length; num++) {
        console.log("reply.data["+num+"].key = "+ reply.data[num].key);
        console.log("reply.data["+num+"].value = "+ reply.data[num].value);
      }
   },
   // Something went wrong
   onfail: function() {
      console.log('Launch service failed');
   }
};
//Launch the service with control
tizen.application.launchAppControl(appControl, null,
                 function(){console.log("launch appControl succeeded");},
                 function(e){console.log("launch appControl failed. Reason: " + e.name);},
                 appControlReplyCB);

如果您想要使用前置摄像头录制视频,请使用 W3C 的 API“getusermedia”。 下面是一个简单的示例说明如何做到这一点。

注: 开发者设备上的前置摄像头无法访问,因此这个 API 将无法在设备上运作。 可以通过网络摄像头在模拟器上良好运作。

HTML 代码:

	

Javascript 代码:

function getVideoStream()
{
   navigator.webkitGetUserMedia({video : true}, SuccessCallBack, errorCallBack);
}

function SuccessCallBack(stream)
{
   var URL = window.webkitURL;
   document.getElementById("videoPlay").src =  URL.createObjectURL(stream);
}    

function errorCallBack(error)
{
	alert('No support for webkitGetUserMedia()');
}

MultiMediaView

MultiMediaView 是一个小部件,可以让用户查看和处理多媒体内容。 视频和音频元素被编码为标准的 HTML 元素并由 MultiMediaview 增强,使它们具有吸引力,可在移动设备上使用。

数据属性

  • data-theme - 设置小部件的主题。 如果未定义此值,则小部件将使用父主题 (可选)。
  • data-control - 启用媒体控件。
    • 如果此值被设置为“true”(默认值),则小部件使用隶属控制器。
    • 如果此值被设置为“false”,则小部件使用浏览器的控制器。
  • data-full-screen - 最初启动小部件时,将其状态设置为全屏。默认值为“false”。

事件

您可以使用 jQuery 移动虚拟事件或标准 JavaScript 事件直接将事件绑定至视频或音频元素。

  • create - 创建 multimediaview 后被触发。

方法

  • width - 获取或设置小部件的宽度。
  • height - 获取或设置小部件的高度。
  • size - 设置小部件的尺寸,并调整其大小。 第一个参数是宽度,第二个参数是小部件的高度。
  • fullscreen - 小部件以全屏模式显示。

要向应用程序添加多媒体视图小部件,请使用以下代码:

// Video player control


// Audio player control

   " type="audio/mp3" />
   Your browser does not support the audio tag.

多媒体视图可以定义用于创建事件的回调,该事件会在创建小部件时被触发。

$('.selector').multimediaview({
   create: function(event, u){...}
});

$(".selector").bind("create", function(event, ui)
{
   // Respond to the multimedia view widget creation
});

以下列表描述了可以与多媒体视图结合使用的方法:

宽度

宽度方法用于获取 (如果没有定义任何值)或设置多媒体视图小部件的宽度:



$(".selector").multimediaview("width", [value]);

高度

高度方法用于获取 (如果没有定义任何值)或设置多媒体视图小部件的高度:



$(".selector").multimediaview("height", [value]);

全屏

全屏方法用于获取 (如果没有定义任何值) 或设置多媒体视图小部件的全屏模式。 如果值为 true,则使用全屏模式 ;否则多媒体视图小部件将在正常模式下运行。



$(".selector").multimediaview("fullScreen", [value]);