Recientemente, estoy escribiendo un jugador personalizado. Antes de escribir, debemos repasar todas las propiedades y métodos del jugador. Sólo conociendo a nuestros enemigos y a nosotros mismos podremos luchar en cien batallas... Más adelante, discutiremos. el reproductor que escribimos y algunos errores que hemos encontrado. Súbelo también.
atributos en línea de etiquetas de videoDebería haber algunos más... pero aún no los he usado. Puedes consultar la documentación de MDN.
Propiedades y métodos del objeto de vídeo.1. Estado de error
$video.error; //null: normal $video.error.code; //1. Terminación del usuario 2. Error de red 3. Error de decodificación 4. URL no válida
2. Atributos de estado de la red (algunos se usan más comúnmente)
$video.currentSrc; //Devuelve la URL del recurso actual $video.src = value; //Devuelve o establece la URL del recurso actual $video.canPlayType(type); reproducido $video.networkState; //0. Este elemento no está inicializado 1. Normal pero no utiliza la red 2. Se están descargando datos 3. No se encontró ningún recurso $video.load() //Recarga el recurso especificado por src $ vídeo almacenado en búfer; //Regrese al área almacenada en el búfer, $video.buffered.end(0) obtiene el último momento de los datos $video.preload; //none: no precargar metadatos: precarga la información del recurso automáticamente:
3.Estado listo
$video.readyState; //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA $video.seeking //Si está buscando;
4.Estado de reproducción (de uso común)
$video.currentTime = value; //La posición de reproducción actual, la asignación puede cambiar la posición $video.duration; //La secuencia de longitud del recurso actual devuelve infinito $video.paused //Si se debe pausar $video.defaultPlaybackRate = value; //La velocidad de reproducción predeterminada se puede configurar $video.playbackRate = value; //La velocidad de reproducción actual se cambiará inmediatamente después de configurar $video.seekable; //Regresar al área de búsqueda $video.ended //Si finalizar; $video.autoPlay; //Si reproducir automáticamente $video.loop; //Si reproducir en bucle $video.play(); //Reproducir $video.pause();
5.Controlar
$video.controls;//Si hay una barra de control predeterminada $video.volume = value; //Volumen $video.muted = value; //Método de evento de video silenciado (comúnmente agregado *) loadstart //El cliente comienza a solicitar data *progress //El cliente está solicitando suspensión de datos //Aborto de descarga retrasada //El cliente finaliza activamente la descarga (no causado por un error), *error //Se encontró un error al solicitar datos estancado //Velocidad de red detenida * play //play() y activación de reproducción automática *pausa al iniciar la reproducción //pause() activa los metadatos cargados //Obtiene exitosamente la longitud del recurso *esperando //Esperando datos, no es un error *reproduciendo //Inicia la reproducción canplay //Se puede reproducir, pero puede pausarse debido a la carga en el medio *canplaythrough // Se puede reproducir buscando // Buscado durante la búsqueda de recursos // Búsqueda de recursos completada *timeupdate // Tiempo de reproducción cambiado *finalizado // Reproducción finalizada cambio de tasa // Tasa de reproducción cambiada duracióncambio // Longitud del recurso cambiada *cambio de volumen // Volumen cambiado
Básicamente, el código del reproductor personalizado se escribe en función de esta API y atributos, lo cual le resultará conveniente comprobar más adelante...
Lo anterior es el contenido completo de este artículo. Espero que sea útil para el estudio de todos. También espero que todos apoyen VeVb Wulin Network.