@szmg-fe/tarco
Version:
function library in Taro
29 lines (26 loc) • 945 B
text/typescript
import { VideoContext } from "@tarojs/taro";
import { compose } from '@szmg-fe/funba/ramda';
import { useMemo } from "react";
import Taro from '@tarojs/taro';
/**
*
* @returns 播放&暂停视频的方法
*/
export default function useVideoPlay() {
return useMemo(() => {
// 根据pos 返回当前页面中video id
const getVideoIdFromCurrent = (id) => `video-${id}`;
// 返回context video 实例
const createCurrentVideo = videoId => Taro.createVideoContext(videoId, this);
// 播放&暂停音乐
const makeVideoPlay = (video: VideoContext) => video.play();
const makeVideoPause = (video: VideoContext) => video.pause();
const [playVideo, pauseVideo] = [makeVideoPlay, makeVideoPause].map(f => {
return compose(f, createCurrentVideo, getVideoIdFromCurrent);
});
return {
playVideo,
pauseVideo
}
}, []);
}