operate-video-player.js 1.1 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
import {
  findElmById,
  invokeVmMethod,
  invokeVmMethodWithoutArgs
} from '../util'

const METHODS = {
  play (ctx) {
    return invokeVmMethodWithoutArgs(ctx, 'play')
  },
  pause (ctx) {
    return invokeVmMethodWithoutArgs(ctx, 'pause')
  },
  seek (ctx, args) {
d-u-a's avatar
d-u-a 已提交
15
    return invokeVmMethod(ctx, 'seek', args.position)
fxy060608's avatar
fxy060608 已提交
16 17 18 19 20 21 22 23
  },
  stop (ctx) {
    return invokeVmMethodWithoutArgs(ctx, 'stop')
  },
  sendDanmu (ctx, args) {
    return invokeVmMethod(ctx, 'sendDanmu', args)
  },
  playbackRate (ctx, args) {
d-u-a's avatar
d-u-a 已提交
24
    return invokeVmMethod(ctx, 'playbackRate', args.rate)
fxy060608's avatar
fxy060608 已提交
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
  },
  requestFullScreen (ctx, args) {
    return invokeVmMethod(ctx, 'requestFullScreen', args)
  },
  exitFullScreen (ctx) {
    return invokeVmMethodWithoutArgs(ctx, 'exitFullScreen')
  },
  showStatusBar (ctx) {
    return invokeVmMethodWithoutArgs(ctx, 'showStatusBar')
  },
  hideStatusBar (ctx) {
    return invokeVmMethodWithoutArgs(ctx, 'hideStatusBar')
  }
}

export function operateVideoPlayer (videoId, pageVm, type, data) {
  return METHODS[type](findElmById(videoId, pageVm), data)
}