import React, { Component } from "react"; import { Platform, Text, View, ImageBackground, Button, Image, TouchableOpacity, StyleSheet } from "react-native"; import { createStackNavigator, createAppContainer } from "react-navigation"; import Video from "react-native-video"; const instructions = Platform.select({ ios: "Press Cmd+R to reload,\n" + "Cmd+D or shake for dev menu", android: "Double tap R on your keyboard to reload,\n" + "Shake or press menu button for dev menu" }); type Props = {}; export default class CusVideo extends React.Component { state = { rate: 1, volume: 1, muted: false, resizeMode: "stretch", duration: 0.0, currentTime: 0.0, paused: false, wheel: false }; render() { return ( ); } loadStart() { // alert("loadStart"); } onLoad = data => { //获取的是秒数 this.setState({ duration: data.duration }); }; onProgress = data => { this.setState({ currentTime: data.currentTime }); }; onError() { alert("播放器异常"); } onEnd() { alert("播放结束"); } play() { if (this.state.paused) { this.start(); } else { this.pause(); } } pause() { this.setState({ paused: true }); this.player_icon_index = 1; } start() { this.setState({ paused: false }); this.player_icon_index = 0; } showToast(params) { // ToastExample.message(params); ToastExample.show(params, ToastExample.SHORT); } presentFullscreenPlayer() { // alert("点击调用全屏"); this.props.videofullScreenPlayer(); // this.player.presentFullscreenPlayer(); } refreshVideo() { this.setState({ duration: 0, currentTime: 0 }); } } const styles = StyleSheet.create({ player_controller: { flexDirection: "row", position: "absolute", width: "100%", height: 50, alignItems: "center", bottom: 0 }, player_pause_icon: { width: "100%", resizeMode: "center", height: "80%", justifyContent: "center", alignItems: "center", backgroundColor: "blue" }, player_time: { fontSize: 18, color: "white", alignItems: "center", justifyContent: "center", textAlignVertical: "center", textAlign: "center" } }); /** * 将秒转换为 分:秒 * s int 秒数 */ function formatTime(s) { //计算分钟 //算法:将秒数除以60,然后下舍入,既得到分钟数 var h; h = Math.floor(s / 60); //计算秒 //算法:取得秒%60的余数,既得到秒数 s = Math.round(s % 60); //将变量转换为字符串 h += ""; s += ""; //如果只有一位数,前面增加一个0 h = h.length == 1 ? "0" + h : h; s = s.length == 1 ? "0" + s : s; return h + ":" + s; }