Browse Source

update doc

pull/380/head
wancheng1990 1 year ago
parent
commit
ff05895708
  1. 8
      demo/api.md
  2. 90
      demo/document.md

8
demo/api.md

@ -365,13 +365,11 @@ worker地址
- **默认值**:`false`
- **用法**:是否使用web全屏(旋转90度)(只会在移动端生效)。
> ~~如果手机设置了自动选择,建议不要开启。~~
> 如果手机设置了自动选择,建议不要开启。
> ~~web全屏使用的是css方式实现的伪全屏,实现的是横屏播放的。如果手机设置了自动旋转,建议不要使用这个功能。~~
> web全屏使用的是css方式实现的伪全屏,实现的是横屏播放的。如果手机设置了自动旋转,建议不要使用这个功能。
> ~~ios上面不支持系统级别的全屏方法,推荐使用这个参数。~~
> 播放器会检测当前环境是否支持系统级别的全屏方法,如果不支持,则会自动使用这个参数 `useWebFullScreen = true`
> ios上面不支持系统级别的全屏方法,推荐使用这个参数。
## 方法

90
demo/document.md

@ -166,6 +166,9 @@ const instance = new window.Jessibuca({})
- 支持H264和H265解码
- 支持http和https
> wasm(simd) 主要是只支持`simd`指令集的浏览器,比如`chrome`,`edge`,`safari`不支持。
#### 优先级
如果同时配置了`useMSE`和`useWCS`,则优先使用`useMSE`,如果`useMSE`不支持,则使用`useWCS`,如果 `useWCS` 不支持,则降级到`wasm`解码。
@ -424,7 +427,7 @@ https://www.mianshigee.com/note/detail/72131ooi/
> jessibuca pro 版本已经支持了。欢迎测试使用。http://jessibuca.monibuca.com/player-pro.html
### webcodecs
### webcodecs 硬解码H265
#### Chrome/Edge 86及之后
@ -435,6 +438,7 @@ Desktop,Android,Webview中已默认开启!
需要https加载web,播放https/wss-flv流. 如果控制台打印 "WCS is not supported or experimental-web-platform-features not enabled" 请将当前页面使用https访问
> jessibuca pro 版本已经支持了。欢迎测试使用。http://jessibuca.monibuca.com/player-pro.html
### http vs https
@ -1341,6 +1345,10 @@ loadingTimeout 是指在`播放器在请求url的时候`,接口是返回200状
#### delayTimeout
delayTimeout 是指在`播放器播放过程中`,如果在`delayTimeout`时间内,没有收到流数据,则会抛出`delayTimeout`错误。
#### loadingTimeoutReplay(delayTimeoutReplay) 与 loadingTimeoutReplayTimes(delayTimeoutReplayTimes)
> 如果在`loadingTimeout`时间内,没有收到流数据,则会抛出`loadingTimeout`错误,如果设置了`loadingTimeoutReplay`,则会重新播放,会重试`loadingTimeoutReplayTimes`次。
### 关于移动端(H5)切换网络的时候,播放器会触发什么事件。
@ -2197,6 +2205,86 @@ window.setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
> 如果路径配置的不对的话,会存在vue 或者react 项目 直接被返回了index.html 内容了
### 关于硬解码或者video标签渲染自动播放
背景:用户希望打开页面的时候就直接自动播放视频(单屏或者多屏),但是浏览器的自动播放策略是,必须是用户手动触发了事件之后,才能自动播放。
会抛出`DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD` 错误。
### 解决方案
1. 添加一个交互事件,让用户手动触发下,再去播放视频。
2. 使用`wcs`解码(在https环境下),然后使用`canvas`标签渲染。
3. 使用wasm(simd) 软解码,然后使用`canvas`标签渲染。
### 页面首次加载超时检测
目前播放器的默认配置是
```
{
loadingTimeout: 10,
loadingTimeoutReplay:true,
loadingTimeoutReplayTimes:3
}
```
> 如果想要如果想无限次重试,可以设置loadingTimeoutReplayTimes为-1
### 页面播放过程中超时检测
目前播放器的默认配置是
```
{
heartTimeout: 10,
heartTimeoutReplay:true,
heartTimeoutReplayTimes:3
}
```
> 如果想要如果想无限次重试,可以设置heartTimeoutReplayTimes为-1
### 播放的时候解除静音
播放器默认播放的时候,是静音播放的。所以如果想播放的时候解除静音,则需要配置`isNotMute:true`就可以了。
> 如果是程序触发的自动播放播放器,是不会有声音的,需要用户手动触发才会有声音。
### 苹果手机默认没有声音。
在设置`isNotMute:true` 在苹果的手机端默认是没有声音的。
> iPhone,chrome等要求自动播放时,音频必须静音,需要由一个真实的用户交互操作来恢复,不能使用代码。
程序里面可以检查下播放器的状态,如果是静音状态,就需要需要出一个ui交互,让用户手动恢复声音播放。
```js
var result = jessibuca.isMute()
console.log(result) // true
if (result) {
// 这里可以出一个ui交互,让用户手动恢复声音播放
}
```
可以结合`audioResume()`方法。
```js
jessibuca.audioResume();
```
### IOS 手机端全屏
> 由于IOS不支持系统级别的全屏方法,所以只能降级到web全屏。
配置 `useWebFullScreen:true` ,可以实现IOS手机端全屏。
## 支持作者
### 第一作者

Loading…
Cancel
Save