EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。TSINGSEE青犀视频的Easy系列视频平台均集成了EasyPlayer播放器作为网页播放能力层。
EasyPlayer具备多个版本,如EasyPlayer-RTSP、EasyPlayer.js、EasyPlayerPro等,并且EasyPlayer还拥有Windows、Android、iOS版本,EasyPlayer.js还可支持Linux平台。
近期我们对EasyPlayer.js的音频功能进行了优化,今天和大家分享一下。
用户在使用EasyPlayer.js时,有时候会需要控制音频,但是播放器默认的音频无法满足用户需求,于是想在自己的代码逻辑中增加控制音频的开启及开闭。我们可以通过以下方式实现。
1)首先,在播放器源码中加入如下代码:
代码语言:javascript复制 //设置音频
setMuted(type){
if (typeof type == "boolean") {
if (this.wasmPlayer&&this.isStreamH265) {// 控制H265编码的视频
if (type) {
this.wasmPlayer.closeAudio()
}else{
this.wasmPlayer.openAudio()
}
} else {
if (this.easyPlayer) { // 控制H264编码的视频
this.easyPlayer.muted(type)
}
}
}
},
2)在业务中调用setMuted方法控制音频的开启及关闭,true为禁用,false为开启。代码参考如下:
代码语言:javascript复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EasyPlayer</title>
<script src="./EasyPlayer-element.min.js"></script>
</head>
<style>
#player .easy-player {
height: 400px;
}
</style>
<body>
<h4 style="width:600px;margin: auto;">EasyPlayer播放器</h4>
<br>
<div style="width:600px;margin: auto;">
<easy-player id="player"></easy-player>
<p>列如:http://127.0.0.1:8080/flv/hls/stream.flv <a href="http://www.easydarwin.org/easyplayer/" target="_blank"> 在线演示</a></p>
<p style="color:red;font-size: 12px;">注意:本实例需要以服务方式启动 <a href="https://blog.csdn.net/weixin_43194037/article/details/108885134" target="_blank">搭建服务教程</a></p>
<input type="text" id="value" value="http://192.168.0.102:18000/flv/live/stream_1_0.flv">
<button id="onPlay">播放</button>
<button id="onMuted">开启音频</button>
<button id="offMuted">关闭音频</button>
</div>
<script>
let player = document.getElementById('player')
let onPlay = document.getElementById('onPlay');
let onMuted = document.getElementById('onMuted');
let offMuted = document.getElementById('offMuted');
let value = document.getElementById('value');// 输入框
// 播放
onPlay.onclick = function(){
player.setAttribute('video-url', value.value||"")
}
// 开启音频
onMuted.onclick = function(){
player.getVueInstance().setMuted(false)
}
// 关闭音频
offMuted.onclick = function(){
player.getVueInstance().setMuted(true)
}
</script>
</body>
</html>
EasyPlayer播放器系列项目依赖其灵活控制、低延时、高稳定的特点,已经成熟运用于多个项目场景当中,其中包括手机直播、桌面直播、远程教育课堂直播等,用户可以根据自身的需求对其进行二次开发或自主集成。