React中Jessibuca播放器的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

随着互联网的不断发展,视频的格式也越来越多,视频格式兼容问题也随之出现,这篇文章主要对Jessibuca.js播放flv视频格式进行简单使用。


一、Jessibuca.js是什么?

Jessibuca是一款开源的纯H5直播流播放器,通过Emscripten将音视频解码库编译成Js(ams.js/wasm)运行于浏览器之中。兼容几乎所有浏览器,可以运行在PC、手机、微信中,无需额外安装插件。

二、使用步骤

1.引入库

因为Jessibuca不能使用npm导入,所以我们在官网的demo中找到react的demo,进入GitHub网页,下载jessibuca.js和decoder.js包,将包在index.html中进行全局导入
把包放入项目中

 <script 
 type="text/javascript" 
 src="%PUBLIC_URL%/jessibuca/jessibuca.js">
 </script>

2.创建播放器容器

在render函数中定义播放器容器

render() {
    return (
        <div style={myStyles} id='container'></div>
    );
  }

3.创建Jessibuca播放器

代码如下:

create() {//创建jessibuca播放器
  // var showOperateBtns = true; // 是否显示按钮
  // var forceNoOffscreen = true; //
  let $container = document.getElementById('container');//容器
  this.jessibuca = new window.Jessibuca({
      container: $container,//播放器容器
      videoBuffer: 0.2, // 缓存时长
      isResize: false, //适应浏览器
      isFlv: true,
      text: "",
      loadingText: "加载中....",
      decoder: "/jessibuca/decoder.js",//必须与引入jessibuca.js在同一个文件夹
      useMSE: false,
      debug: false,
      hasAudio:false,//是否开启声音,谷歌不支持开启声音,
      useWCS:false,
      //showBandwidth: true, // 显示网速
      operateBtns: {//配置按钮
          //fullscreen: true,
          // screenshot: showOperateBtns,
          // play: showOperateBtns,
          // audio: showOperateBtns,
          // recorder: showOperateBtns
      },
      //forceNoOffscreen: true,//离屏渲染
      isNotMute: false,//是否开启声音
  });
    this.jessibuca.play(”url“).then(() => {//播放,在url处填写url
    console.log('play success')
  }).catch((e) => {
    console.log('play error', e)
  })
}

4.Jessibuca播放

componentDidMount() {
this.create();//挂载
}

总结

Jessibuca播放器只能播放flv格式的视频,decoder配置项的路径必须与jessibuca.js放在同一个目录下。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React 结合 TypeScript 使用 Refs 可以通过 `React.RefObject` 接口来定义 Ref 类型,具体步骤如下: 1. 首先,在组件定义一个 Ref 对象: ```typescript import React, { useRef } from 'react'; interface MyComponentProps { // props } const MyComponent: React.FC<MyComponentProps> = (props) => { const inputRef = useRef<HTMLInputElement>(null); // ... }; ``` 这里我们定义了一个名为 `inputRef` 的 Ref 对象,它的类型是 `React.RefObject<HTMLInputElement>`,指向一个 input 元素。 2. 将 Ref 对象传递给组件的元素或组件: ```typescript return ( <div> <input type="text" ref={inputRef} /> </div> ); ``` 这里我们将 `inputRef` 传递给了 input 元素的 `ref` 属性,这样在组件渲染完毕后,我们就可以通过 `inputRef.current` 来访问这个 input 元素了。 3. 在组件使用 Ref 对象: ```typescript const handleClick = () => { if (inputRef.current) { inputRef.current.focus(); } } return ( <div> <input type="text" ref={inputRef} /> <button onClick={handleClick}>Focus</button> </div> ); ``` 这里我们定义了一个 `handleClick` 方法,当用户点击按钮时,调用这个方法,它会将焦点聚焦到 input 元素上。通过 `inputRef.current` 可以获取当前 input 元素的引用,然后调用 `focus()` 方法即可聚焦。 以上就是在 React 结合 TypeScript 使用 Refs 的基本步骤。需要注意的是,当使用 Refs 时,要确保对 Ref 对象的访问是安全的,即先检查 `ref.current` 是否为 null,然后再进行操作,以避免出现运行时错误。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值