Video模块管理多媒体视频相关能力,可用创建视频播放控件,直播推流控件等

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
	<span style="color:#87ceeb">// ...</span>
	<span style="color:#ffa0a0">"VideoPlayer"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
		<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"视频播放"</span>
	<span style="color:#ffffff">},</span>
	<span style="color:#ffa0a0">"LivePusher"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
		<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"直播推流"</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
			</code></span></span>

createVideoPlayer

创建VideoPlayer对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">VideoPlayer</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createVideoPlayer</span><span style="color:#ffffff">(</span><span style="color:#ffffff">id</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> styles</span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

调用此方法创建后并不会显示,需要调用Webview窗口的append方法将其添加到Webview窗口后才能显示。 注意:此时需要通过styles参数的top/left/width/height属性设置控件的位置及大小。

参数:

  • id: ( String ) 必选 VideoPlayer对象的全局标识

    可用于通过plus.video.getVideoPlayerById()方法查找已经创建的VideoPlayer对象。

  • styles: VideoPlayerStyles ) 可选 视频播放控件参数

    设置视频播放控件的位置及大小等。

返回值:

VideoPlayer : 视频播放控件对象

平台支持:

  • Android - 4.0+ (支持) :

    Android4.0及以上版本支持。

  • iOS - 7.0+ (支持) :

    iOS7.0及以上版本支持。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> player </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 创建视频播放控件</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> createVideoPlayer</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
	<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(!</span><span style="color:#ffffff">player</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		player </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createVideoPlayer</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'videoplayer'</span><span style="color:#ffffff">,</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://live.hkstv.hk.lxdns.com/live/hks'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			top</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'100px'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			left</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'0px'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			width</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'100%'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			height</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'200px'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			position</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'static'</span>
		<span style="color:#ffffff">});</span><span style="color:#ffffff">
		plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">webview</span><span style="color:#ffffff">.</span><span style="color:#ffffff">currentWebview</span><span style="color:#ffffff">().</span><span style="color:#ffffff">append</span><span style="color:#ffffff">(</span><span style="color:#ffffff">player</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

createLivePusher

创建LivePusher对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">LivePusher</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createLivePusher</span><span style="color:#ffffff">(</span><span style="color:#ffffff">id</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> styles</span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

调用此方法创建后并不会显示,需要调用Webview窗口的append方法将其添加到Webview窗口后才能显示。 注意:此时需要通过styles参数的top/left/width/height属性设置控件的位置及大小。

参数:

  • id: ( String ) 必选 LivePusher对象的全局标识

    可用于通过plus.video.getLivePusherById()方法查找已经创建的LivePusher对象。

  • styles: LivePusherStyles ) 可选 直播推流控件参数

    设置直播推流控件的位置及大小等。

返回值:

LivePusher : 直播推流控件对象

平台支持:

  • Android - 4.1+ (支持) :

    Android4.1及以上版本支持。

  • iOS - 8.0+ (支持) :

    iOS8.0及以上版本支持。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> pusher </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 创建直播推流控件</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> createLivePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
	<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(!</span><span style="color:#ffffff">pusher</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		pusher </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createLivePusher</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'livepusher'</span><span style="color:#ffffff">,</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
			url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://testlivesdk.v0.upaiyun.com/live/upyunb'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			top</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'100px'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			left</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'0px'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			width</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'100%'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			height</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'300px'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
			position</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">'static'</span>
		<span style="color:#ffffff">});</span><span style="color:#ffffff">
		plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">webview</span><span style="color:#ffffff">.</span><span style="color:#ffffff">currentWebview</span><span style="color:#ffffff">().</span><span style="color:#ffffff">append</span><span style="color:#ffffff">(</span><span style="color:#ffffff">pusher</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

getVideoPlayerById

查找已经创建的VideoPlayer对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">VideoPlayer</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getVideoPlayerById</span><span style="color:#ffffff">(</span><span style="color:#ffffff">id</span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

查找指定id的VideoPlayer对象,如果不存在则返回null。

参数:

  • id: ( String ) 必选 VideoPlayer对象的全局标识

    如果存在多个相同标识的VideoPlayer对象,则返回第一个查找到的VideoPlayer对象。 如果不存在指定标识的VideoPlayer对象,则返回null。

返回值:

VideoPlayer : 视频播放控件对象

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 查找视频播放控件</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> findVideoPlayer</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> b </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getVideoPlayerById</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'videoplayer'</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">b</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'find success!'</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
		alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'success'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">}</span> <span style="color:#f0e68c"><strong>else</strong></span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'find failed!'</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
		alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'failed'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

getLivePusherById

查找已经创建的LivePusher对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">LivePusher</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getLivePusherById</span><span style="color:#ffffff">(</span><span style="color:#ffffff">id</span><span style="color:#ffffff">);</span>
				</code></span></span>

说明:

查找指定id的LivePusher对象,如果不存在则返回null。

参数:

  • id: ( String ) 必选 LivePusher对象的全局标识

    如果存在多个相同标识的LivePusher对象,则返回第一个查找到的LivePusher对象。 如果不存在指定标识的LivePusher对象,则返回null。

返回值:

LivePusher : 直播推流控件对象

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 查找直播推流控件</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> findLivePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> b </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getLivePusherById</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'livepusher'</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">b</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'find success!'</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
		alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'success'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">}</span> <span style="color:#f0e68c"><strong>else</strong></span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'find failed!'</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
		alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'failed'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

uni-app使用plus注意事项

VideoPlayer

视频播放控件对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">VideoPlayer</span> <span style="color:#ffffff">{</span>
	<span style="color:#87ceeb">// Methods</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> addEventListener</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">,</span><span style="color:#ffffff"> listener</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> capture</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> setStyles</span><span style="color:#ffffff">(</span><span style="color:#ffffff">styles</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> play</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pause</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> seek</span><span style="color:#ffffff">(</span><span style="color:#ffffff">position</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> requestFullScreen</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> exitFullScreen</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> stop</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> hide</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> show</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> close</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> sendDanmu</span><span style="color:#ffffff">(</span><span style="color:#ffffff">danmu</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> playbackRate</span><span style="color:#ffffff">(</span><span style="color:#ffffff">rate</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

说明:

VideoPlayer对象表示视频播放控件对象,在窗口中播放视频,可支持本地视频(mp4/flv),网络视频地址(mp4/flv/m3u8)及流媒体(rtmp/hls/rtsp)。
编码格式:

  • Android平台:h264、mpeg4、flv、hevc、vp6f、vp8/9
  • iOS平台:h264、mpeg4、flv、hevc、vp6f

构造:

方法:

VideoPlayer.constructor(id, styles)

创建VideoPlayer对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> video </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">VideoPlayer</span><span style="color:#ffffff">(</span><span style="color:#ffffff">id</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> styles</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

创建VideoPlayer对象,并指定VideoPlayer对象的在界面中关联div或object标签的id号。

参数:

  • id: ( String ) 必选 视频播放控件在Webview窗口的DOM节点的id值

    为了定义视频控件在Webview窗口中的位置,需要指定控件定位标签(div或objecct)的id号,系统将根据此id号来确定视频播放控件的大小及位置。

  • styles: VideoPlayerStyles ) 可选 视频播放控件参数

    设置视频播放控件的资源地址、初始播放位置等参数。

返回值:

VideoPlayer : 视频播放控件对象

平台支持:

  • Android - 4.0+ (支持) :

    Android4.0及以上版本支持。

  • iOS - 7.0+ (支持) :

    iOS7.0及以上版本支持。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
	<span style="color:#87ceeb">// 创建视频播放控件</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> video </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">VideoPlayer</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'video'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">
		src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://live.hkstv.hk.lxdns.com/live/hks'</span>
	<span style="color:#ffffff">});</span>
						</code></span></span>

uni-app使用plus注意事项

addEventListener

监听视频播放控件事件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">,</span><span style="color:#ffffff"> listener</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> capture</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

向视频播放控件添加事件监听器,当指定的事件发生时,将触发listener函数的执行。 可多次调用此方法向视频播放控件添加多个监听器,当监听的事件发生时,将按照添加的先后顺序执行。

参数:

  • event: VideoPlayerEvents ) 必选 视频播放控件事件类型

  • listener: VideoPlayerEventCallback ) 必选 监听事件发生时执行的回调函数

  • capture: ( Boolean ) 可选 捕获事件流顺序,暂无效果

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
	<span style="color:#87ceeb">// 创建视频播放控件</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> video </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">VideoPlayer</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'video'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">
		src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://live.hkstv.hk.lxdns.com/live/hks'</span>
	<span style="color:#ffffff">});</span>
	<span style="color:#87ceeb">// 监听开始播放事件</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'play'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'Video play'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">)</span>
	<span style="color:#87ceeb">// 监听播放进度更新事件</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'timeupdate'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
	<span style="color:#87ceeb">// 监听播放结束事件</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'ended'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'Video ended'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
						</code></span></span>

uni-app使用plus注意事项

setStyles

设置视频播放控件参数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setStyles</span><span style="color:#ffffff">(</span><span style="color:#ffffff">styles</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

用于动态更新视频播放控件的配置参数。 注意:有些选项无法动态更新,只能创建时进行设置,详情参考VideoPlayerStyles。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 切换视频地址</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> switchVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	src </span><span style="color:#ffffff">=</span> <span style="color:#ffffff">(</span><span style="color:#ffffff">src</span><span style="color:#ffffff">==</span><span style="color:#ffffff">src1</span><span style="color:#ffffff">)?</span><span style="color:#ffffff">src2</span><span style="color:#ffffff">:</span><span style="color:#ffffff">src1</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setStyles</span><span style="color:#ffffff">({</span><span style="color:#ffffff">src</span><span style="color:#ffffff">:</span><span style="color:#ffffff">src</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

setOptions

设置视频播放控件参数(将废弃,使用setStyles)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setOptions</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

用于动态更新视频播放控件的配置选项。 注意:有些选项无法动态更新,只能创建时进行设置,详情参考VideoPlayerStyles。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 切换视频地址</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> switchVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	src </span><span style="color:#ffffff">=</span> <span style="color:#ffffff">(</span><span style="color:#ffffff">src</span><span style="color:#ffffff">==</span><span style="color:#ffffff">src1</span><span style="color:#ffffff">)?</span><span style="color:#ffffff">src2</span><span style="color:#ffffff">:</span><span style="color:#ffffff">src1</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setOptions</span><span style="color:#ffffff">({</span><span style="color:#ffffff">src</span><span style="color:#ffffff">:</span><span style="color:#ffffff">src</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

play

播放视频

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">play</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

如果视频已经处于播放状态,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 播放视频</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> plsyVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">play</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

pause

暂停视频

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">pause</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

如果视频未处于播放状态,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 暂停视频</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> pauseVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">pause</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

seek

跳转到指定位置

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">seek</span><span style="color:#ffffff">(</span><span style="color:#ffffff">position</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

如果视频未处于播放状态,则操作无效。

参数:

  • position: ( Number ) 必选 跳转到的位置

    单位为秒(s)。 注意:由于视频流只能从关键帧开始播放,可能存在不精确的情况。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 调到指定位置播放</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> seekVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">seek</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">100</span><span style="color:#ffffff">)</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

requestFullScreen

切换到全屏

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFullScreen</span><span style="color:#ffffff">(</span><span style="color:#ffffff">direction</span><span style="color:#ffffff">);</span>
						</code></span></span>

参数:

  • direction: ( Number ) 必选 视频的方向

    可取值: 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度)。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 全屏播放</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> fullscreenVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFullScreen</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

exitFullScreen

退出全屏

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">exitFullScreen</span><span style="color:#ffffff">();</span>
						</code></span></span>

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 全屏播放,播放完成后自动退出全屏</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> fullscreenVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFullScreen</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'ended'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
		video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">exitFullScreen</span><span style="color:#ffffff">();</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

stop

停止播放视频

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stop</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

如果视频未处于播放或暂停状态,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 停止播放</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> stopVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stop</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

hide

隐藏视频播放控件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">hide</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

隐藏只是控件不可见,控件依然存在并且不改变播放状态。 如果控件已经隐藏,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 隐藏视频</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> hideVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">hide</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

show

显示视频播放控件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">show</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

将隐藏的控件显示出来(回复到隐藏前的状态)。 如果控件已经显示,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 显示视频</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> showVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">show</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

close

关闭视频播放控件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

关闭操作将释放控件所有资源,不再可用。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 关闭视频</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> closeVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

sendDanmu

发送弹幕

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">sendDanmu</span><span style="color:#ffffff">(</span><span style="color:#ffffff">danmu</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

如果视频未处于播放状态,则操作无效。

参数:

  • danmu: ( Object ) 必选 发送的弹幕

    支持以下属性:text(弹幕的文本内容),color(弹幕的颜色)。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 发送弹幕</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> danmuVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">sendDanmu</span><span style="color:#ffffff">({</span><span style="color:#ffffff">text</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'要显示的弹幕文本'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">color</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'#FF0000'</span><span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

playbackRate

设置倍速播放

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">playbackRate</span><span style="color:#ffffff">(</span><span style="color:#ffffff">rate</span><span style="color:#ffffff">);</span>
						</code></span></span>

参数:

  • rate: ( Number ) 必选 播放的倍率

    可取值: 0.5/0.8/1.0/1.25/1.5。

返回值:

void : 无

平台支持:

  • Android - ALL (支持)
  • iOS - ALL (不支持) :

    暂不支持倍率播放。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 设置播放倍率</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> rateVideo</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">playbackRate</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">1.5</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

VideoPlayerStyles

视频播放控件参数

属性:

  • src: (String 类型 )视频资源地址

    支持本地地址,也支持网络地址及直播流(RTMP)。

  • header: (JSON 类型 )自定义请求头

    播放http/https协议的视频资源时设置请求的header。
    注意:HBuilderX3.1.19及以上版本支持。

  • initial-time: (Number 类型 )视频初始播放位置

    单位为秒(s)。 注意:仅在视频开始播放前设置有效。

  • duration: (Number 类型 )视频长度

    单位为秒(s)。 注意:仅在视频开始播放前设置有效。

  • controls: (Boolean 类型 )是否显示默认播放控件

    默认值为true。 包括播放/暂停按钮、播放进度、时间等。

  • danmu-list: (Array(JSON) 类型 )弹幕列表

    弹幕JSON对象包括属性:text(String类型,弹幕文本类容),color(String类型,弹幕颜色,格式为#RRGGBB),time(Number类型,弹幕出现的时间,单位为秒)。

  • danmu-btn: (Boolean 类型 )是否显示弹幕按钮

    默认值为false。 注意:仅在控件构造时设置有效,不能动态更新。

  • enable-danmu: (Boolean 类型 )是否展示弹幕

    默认值为false。 注意:仅在控件构造时设置有效,不能动态更新。

  • autoplay: (Boolean 类型 )是否自动播放

    默认值为false。

  • loop: (Boolean 类型 )是否循环播放

    默认值为false。

  • muted: (Boolean 类型 )是否静音播放

    默认值为false。

  • direction: (Number 类型 )设置全屏时视频的方向

    不指定则根据宽高比自动判断。 有效值为: 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度)。 默认值为-90。

  • show-center-play-btn: (Boolean 类型 )是否显示视频中间的播放按钮

    默认值为true。

  • show-fullscreen-btn: (Boolean 类型 )是否显示全屏按钮

    默认值为true。

  • show-loading: (Boolean 类型 )加载视频时是否显示loading

    默认值为true。
    HBuilderX2.8.12+版本支持。

  • show-mute-btn: (Boolean 类型 )是否显示静音按钮

    默认值为false。
    注意: HBuilderX2.9.10+版本支持。

  • show-progress: (Boolean 类型 )是否显示播放进度

    默认值为true。

  • show-play-btn: (Boolean 类型 )是否显示视频底部控制栏的播放按钮

    默认值为true。

  • enable-progress-gesture: (Boolean 类型 )是否开启控制进度的手势

    默认值为true。

  • objectFit: (String 类型 )当视频大小与 video 容器大小不一致时,视频的表现形式

    有效值为:contain(包含),fill(填充),cover(覆盖)。 默认值为contain。

  • poster: (String 类型 )视频封面的图片网络资源地址

    如果 controls 属性值为 false 则设置 poster 无效。

  • top: (String 类型 )VideoPlayer控件左上角的垂直偏移量

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的高度; 自动计算,如"auto",根据height值自动计算,相对于父Webview窗口垂直居中。

  • left: (String 类型 )VideoPlayer控件左上角的水平偏移量

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的宽度; 自动计算,如"auto",根据width值自动计算,相对于父Webview窗口水平居中。 默认值为"0px"。

  • width: (String 类型 )VideoPlayer控件的宽度

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的宽度。 默认值为"100%"。

  • height: (String 类型 )VideoPlayer控件的高度

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的高度。 默认值为"100%"。

  • position: (String 类型 )VideoPlayer控件在Webview窗口的布局模式

    可取值: "static" - 静态布局模式,如果页面存在滚动条则随窗口内容滚动; "absolute" - 绝对布局模式,如果页面存在滚动条不随窗口内容滚动; 默认值为"static"。

  • codec: (String 类型 )解码方式

    可取值:

    • "hardware" - 硬解码,优点是可以利用设备硬件进行加速,提高视频清晰度,缺点是在部分设备可能存在兼容性问题
    • "software" - 软解码,优点是兼容性较好,缺点是性能不足
    默认值为"software",如果播放视频出现清晰度不好的情况可以调整为"hardware"。
    HBuilderX3.1.0+版本新增支持。

    平台支持

    • Android - 4.4+ (支持)
    • iOS - ALL (不支持)
  • httpCache: (Boolean 类型 )是否对http/https 视频源开启本地缓存

    true表示开启缓存,重复播放视频会优先使用本地缓存,false表示不缓存。默认值为false。
    缓存策略:开启了此开关的视频源,在视频播放时会在本地保存缓存文件,如果本地缓存池已超过100M,在进行缓存前会清空之前的缓存。
    注意:不适用于m3u8等流媒体协议。
    HBuilderX3.1.0+版本新增支持。

    平台支持

    • Android - 4.4+ (支持)
    • iOS - ALL (不支持)
  • playStrategy: (Number 类型 )视频播放策略

    可取值:

    • 0 - 普通模式,适合播放本地视频文件
    • 1 - 高清视频优化模式,增加缓冲区大小,采用open sl解码音频,避免音视频脱轨的问题,可能会降低首屏展现速度、视频帧率,出现开屏音频延迟等。 适用于高码率视频的极端场景
    • 3 - M3U8优化模式,增加缓冲区大小,提升视频加载速度和流畅度,可能会降低首屏展现速度。 适用于M3U8在线播放的场景
    默认值为0。
    HBuilderX3.1.0+版本新增支持。

    平台支持

    • Android - 4.4+ (支持)
    • iOS - ALL (不支持)

VideoPlayerEvents

视频播放控件事件类型

常量:

  • "play": (String 类型 )视频播放事件

    当视频开始/继续播放时触发。 无事件回调函数参数。

  • "pause": (String 类型 )视频暂停事件

    当视频暂停播放时触发。 无事件回调函数参数。

  • "ended": (String 类型 )视频结束事件

    当视频播放到末尾时触发。 无事件回调函数参数。

  • "timeupdate": (String 类型 )视频播放进度更新事件

    当视频播放进度变化时触发,触发频率250ms一次。 事件回调函数参数event.detail = {currentTime:"Number类型,当前播放时间(单位为秒)",duration:"Number类型,视频总长度(单位为秒)"}。

  • "fullscreenchange": (String 类型 )视频播放全屏播放状态变化事件

    当视频播放进入或退出全屏时触发。 事件回调函数参数event.detail = {fullScreen:"Boolean类型,当前状态是否为全屏", direction:"String类型,vertical或horizontal"}。

  • "fullscreenclick": (String 类型 )视频播放全屏播放时点击事件

    当视频播放进入全屏后,点击屏幕时触发。 事件回调函数参数event.detail = { screenX:"Number类型,点击点相对于屏幕左侧边缘的 X 轴坐标", screenY:"Number类型,点击点相对于屏幕顶部边缘的 Y 轴坐标", screenWidth:"Number类型,屏幕总宽度", screenHeight:"Number类型,屏幕总高度"}。 注意:HBuilderX2.6.3+版本支持。

  • "waiting": (String 类型 )视频缓冲事件

    当视频播放出现缓冲时触发。 无事件回调函数参数。

  • "error": (String 类型 )视频错误事件

    当视频播放出错时触发。 无事件回调函数参数。

LivePusher

直播推流控件对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">LivePusher</span> <span style="color:#ffffff">{</span>
	<span style="color:#87ceeb">// Methods</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> addEventListener</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">,</span><span style="color:#ffffff"> listener</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> capture</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> setStyles</span><span style="color:#ffffff">(</span><span style="color:#ffffff">styles</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> preview</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> start</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> stop</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pause</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> resume</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> switchCamera</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> snapshot</span><span style="color:#ffffff">();</span>
	<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> close</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

说明:

LivePusher对象表示直播推流控件对象,在窗口中显示捕获视频,实时推送到流媒体(RTMP)服务器。

构造:

方法:

LivePusher.constructor(id, options)

创建LivePusher对象

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> pusher </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">LivePusher</span><span style="color:#ffffff">(</span><span style="color:#ffffff">id</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> styles</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

创建LivePusher对象,并指定LivePusher对象的在界面中关联div或object标签的id号。

参数:

  • id: ( String ) 必选 直播推流控件在Webview窗口的DOM节点的id值

    为了定义直播推流控件在Webview窗口中的位置,需要指定控件定位标签(div或objecct)的id号,系统将根据此id号来确定直播推流控件的大小及位置。

  • styles: LivePusherStyles ) 可选 直播推流控件配置选项

    设置直播推流服务器地址地址等参数。

返回值:

LivePusher : 直播推流控件对象

平台支持:

  • Android - 4.1+ (支持) :

    Android4.1及以上版本支持。

  • iOS - 8.0+ (支持) :

    iOS8.0及以上版本支持。

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
	<span style="color:#87ceeb">// 创建直播推流控件</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> pusher </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">LivePusher</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'pusher'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">
		url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://testlivesdk.v0.upaiyun.com/live/upyunb'</span>
	<span style="color:#ffffff">});</span>
						</code></span></span>

uni-app使用plus注意事项

addEventListener

监听直播推流控件事件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">,</span><span style="color:#ffffff"> listener</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> capture</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

向直播推流控件添加事件监听器,当指定的事件发生时,将触发listener函数的执行。 可多次调用此方法向直播推流控件添加多个监听器,当监听的事件发生时,将按照添加的先后顺序执行。

参数:

  • event: LivePusherEvents ) 必选 直播推流控件事件类型

  • listener: LivePusherEventCallback ) 必选 监听事件发生时执行的回调函数

  • capture: ( Boolean ) 可选 捕获事件流顺序,暂无效果

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
	<span style="color:#87ceeb">// 创建直播推流控件</span><span style="color:#ffffff">
	pusher </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">LivePusher</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'pusher'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">
		url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://testlivesdk.v0.upaiyun.com/live/upyunb'</span>
	<span style="color:#ffffff">});</span>
	<span style="color:#87ceeb">// 监听状态变化事件</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'statechange'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'statechange: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
						</code></span></span>

uni-app使用plus注意事项

setStyles

设置直播推流控件参数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setStyles</span><span style="color:#ffffff">(</span><span style="color:#ffffff">styles</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

用于动态更新直播推流控件的配置参数。 注意:有些选项无法动态更新,只能创建时进行设置,详情参考LivePusherStyles。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 设置推流服务器</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> updatePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setStyles</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
		url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://push.live.dcloud.io/test/test123'</span><span style="color:#ffffff">;</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

setOptions

设置直播推流控件参数(将废弃,使用setStyles)

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setOptions</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

用于动态更新直播推流控件的配置选项。 注意:有些选项无法动态更新,只能创建时进行设置,详情参考LivePusherStyles。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 设置推流服务器</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> updatePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">setOptions</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
		url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://push.live.dcloud.io/test/test123'</span><span style="color:#ffffff">;</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

preview

预览摄像头采集数据

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">preview</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

调用摄像头采集图像数据,并在推流控件中预览(此时不会向服务器推流,需调用start方法才开始推流)。 注意:为了确保预览窗口大小正确,应该在创建控件后延时一定的时间(如500ms)进行预览。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 预览</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> preview</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">preview</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

start

开始推流

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">start</span><span style="color:#ffffff">(</span><span style="color:#ffffff">successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

如果已经处于推流状态,则操作无效。

参数:

  • successCB: ( Function ) 必选 开始推流成功回调

    开始推流操作成功时触发,回调函数无参数。

  • errorCB: ( Function ) 可选 快照失败回调

    开始推流操作失败时触发,返回错误信息,回调参数event={code:"错误代码",message:"错误描述信息"}。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 开始推流</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> startPusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">start</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'Start pusher success!'</span><span style="color:#ffffff">);</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'Start pusher failed: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

stop

停止推流

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stop</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
						</code></span></span>

说明:

如果未处于推流状态,则操作无效。

参数:

  • options: ( Object ) 必选 停止推流的参数

    支持属性值preview,用于定义停止推流后是否继续预览,可取值: true - 继续预览,仅停止向服务器推流; false - 关闭预览,同时停止向服务器推流。 默认值为false。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 停止推流</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> stopPusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stop</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

pause

暂停推流

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">pause</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

如果未处于推流状态,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 暂停推流</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> pausePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">pause</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

resume

恢复推流

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">resume</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

如果未处于暂停状态,则操作无效。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 恢复推流</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> resumePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">resume</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

switchCamera

切换前后摄像头

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">switchCamera</span><span style="color:#ffffff">();</span>
						</code></span></span>

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 切换摄像头</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> switchCamera</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">switchCamera</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

snapshot

快照

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">snapshot</span><span style="color:#ffffff">(</span><span style="color:#ffffff">successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
						</code></span></span>

参数:

  • successCB: ( Function ) 必选 快照成功回调

    快照操作成功时触发,并返回快照信息,回调参数event={width:"快照图片宽度",height:"快照图片高度",tempImagePath:"快照图片路径"}。

  • errorCB: ( Function ) 可选 快照失败回调

    快照操作失败时触发,返回错误信息,回调参数event={code:"错误代码",message:"错误描述信息"}。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 快照</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> snapshotPusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">snapshot</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"snapshot success: "</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
		plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"snapshot error: "</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

close

关闭直播推流控件

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">();</span>
						</code></span></span>

说明:

关闭操作将释放控件所有资源,不再可用。

参数:

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 关闭推流</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> closePusher</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
						</code></span></span>

uni-app使用plus注意事项

LivePusherStyles

直播推流控件配置选项

属性:

  • url: (String 类型 )推流地址

    支持RTMP协议。

  • mode: (String 类型 )推流视频模式

    可取值:SD(标清), HD(高清), FHD(超清)。

  • muted: (Boolean 类型 )是否静音

    默认值为false。

  • enable-camera: (Boolean 类型 )开启摄像头

    默认值为true。

  • auto-focus: (Boolean 类型 )自动聚集

    默认值为true。

  • beauty: (Number 类型 )是否美颜

    可取值0、1,其中0表示不使用美颜,1表示不使用美颜。 默认值为0(不使用美颜)。

  • whiteness: (Number 类型 )是否美白

    可取值0、1、2、3、4、5,其中0表示不使用美白,其余值分别表示美白的程度,值越大美白程度越大。 默认值为0(不使用美白)。

  • aspect: (String 类型 )宽高比

    可取值:3:4, 9:16。

  • min-bitrate: (Number 类型 )最小码率

    默认值为200。

  • max-bitrate: (Number 类型 )最大码率

    默认值为1000。

  • top: (String 类型 )LivePusher控件左上角的垂直偏移量

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的高度; 自动计算,如"auto",根据height值自动计算,相对于父Webview窗口垂直居中。

  • left: (String 类型 )LivePusher控件左上角的水平偏移量

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的宽度; 自动计算,如"auto",根据width值自动计算,相对于父Webview窗口水平居中。 默认值为"0px"。

  • width: (String 类型 )LivePusher控件的宽度

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的宽度。 默认值为"100%"。

  • height: (String 类型 )LivePusher控件的高度

    可取值: 像素值,如"100px"; 百分比,如"10%",相对于父Webview窗口的高度。 默认值为"100%"。

  • position: (String 类型 )LivePusher控件在Webview窗口的布局模式

    可取值: "static" - 静态布局模式,如果页面存在滚动条则随窗口内容滚动; "absolute" - 绝对布局模式,如果页面存在滚动条不随窗口内容滚动; 默认值为"static"。

LivePusherEvents

直播推流控件事件类型

常量:

  • "statechange": (String 类型 )状态变化事件

    当推流连接服务器状态变化时触发。 事件回调函数参数event={type:"事件类型,此时为statechange",target:"触发此事件的直播推流控件对象",detail:{code:"状态码,参考后面状态码说明",message:"描述信息"}}。 其中code状态码: 1001 - 已经连接推流服务器; 1002 - 已经与服务器握手完毕,开始推流; 1003 - 打开摄像头成功; 1004 - 录屏启动成功; 1005 - 推流动态调整分辨率; 1006 - 推流动态调整码率; 1007 - 首帧画面采集完成; 1008 - 编码器启动; -1301 - 打开摄像头失败; -1302 - 打开麦克风失败; -1303 - 视频编码失败; -1304 - 音频编码失败; -1305 - 不支持的视频分辨率; -1306 - 不支持的音频采样率; -1307 - 网络断连,且经多次重连抢救无效,更多重试请自行重启推流; -1308 - 开始录屏失败,可能是被用户拒绝; -1309 - 录屏失败,不支持的Android系统版本,需要5.0以上的系统; -1310 - 录屏被其他应用打断了; -1311 - Android Mic打开成功,但是录不到音频数据; -1312 - 录屏动态切横竖屏失败; 1101 - 网络状况不佳:上行带宽太小,上传数据受阻; 1102 - 网络断连, 已启动自动重连; 1103 - 硬编码启动失败,采用软编码; 1104 - 视频编码失败; 1105 - 新美颜软编码启动失败,采用老的软编码; 1106 - 新美颜软编码启动失败,采用老的软编码; 3001 - RTMP -DNS解析失败; 3002 - RTMP服务器连接失败; 3003 - RTMP服务器握手失败; 3004 - RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期; 3005 - RTMP 读/写失败。

  • "netstatus": (String 类型 )网络状态通知事件

    当推流的网络状态发生变化时触发。 事件回调函数参数event={type:"事件类型,此时为netstatus",target:"触发此事件的直播推流控件对象",detail:{videoBitrate:"视频码率",audioBitrate:"音频码率",videoFPS:"视频帧率",netSpeed:"推流网速",videoWidth:"视频宽度",videoHeight:"视频高度"}}。

  • "error": (String 类型 )渲染错误事件

    当推流发生错误是触发。 事件回调函数参数event={type:"事件类型,此时为error",target:"触发此事件的直播推流控件对象",detail:{code:"错误编码,参考后面错误码说明",message:"描述信息"}}。 其中code错误码: 1001 - 用户禁止使用摄像头; 1002 - 用户禁止使用录音。

VideoPlayerEventCallback

视频播放控件事件监听回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onEvent</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
	<span style="color:#87ceeb">// Authenticate success code.</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

参数:

  • event: ( Object ) 可选 事件触发时返回的参数

    不同事件返回的参数不一样,详情参考VideoPlayerEvents事件说明。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
	<span style="color:#87ceeb">// 创建视频播放控件</span>
	<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> video </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">VideoPlayer</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'video'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">
		src</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://live.hkstv.hk.lxdns.com/live/hks'</span>
	<span style="color:#ffffff">});</span>
	<span style="color:#87ceeb">// 监听播放进度更新事件</span><span style="color:#ffffff">
	video</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'timeupdate'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
				</code></span></span>

uni-app使用plus注意事项

LivePusherEventCallback

视频播放控件事件监听回调函数

<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onEvent</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
	<span style="color:#87ceeb">// event code.</span>
<span style="color:#ffffff">}</span>
				</code></span></span>

参数:

  • event: ( Object ) 可选 事件触发时返回的参数

    不同事件返回的参数不一样,详情参考LivePusherEvents事件说明。

返回值:

void : 无

示例:

<span style="background-color:#333333"><span style="color:#474747"><code>
	<span style="color:#87ceeb">// 创建直播推流控件</span><span style="color:#ffffff">
	pusher </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">video</span><span style="color:#ffffff">.</span><span style="color:#98fb98">LivePusher</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'pusher'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">
		url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'rtmp://testlivesdk.v0.upaiyun.com/live/upyunb'</span>
	<span style="color:#ffffff">});</span>
	<span style="color:#87ceeb">// 监听状态变化事件</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'statechange'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'statechange: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
	<span style="color:#87ceeb">// 监听网络状态变化事件</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'netstatus'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'netstatus: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
	<span style="color:#87ceeb">// 监听错误事件</span><span style="color:#ffffff">
	pusher</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'error'</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
		console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'error: '</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
	<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
				</code></span></span>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值