<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Document</title> </head> <style> #operation { position: absolute; bottom: 20px; color: white; z-index: 9999; display: flex; width: 100%; height: 100px; justify-content: center; flex-wrap: wrap; padding: 0; } #operation li { flex: auto; width: 150px; list-style-type: none; } #buttons { margin-bottom: 20px; display: flex; width: 800px; flex-wrap: wrap; } #buttons>div { width: 800px; height: 20px; display: flex; margin-bottom: 5px; font-size: 16px; line-height: 1; } #buttons>div>span { width: 300px; font-size: 16px; line-height: 1; } #buttons>div>input { display: block; width: 300px; font-size: 16px; line-height: 1; height: 20px; transform: translateZ(0); outline: none; } #start { float: left; } </style> <body> <div id="buttons"> <div><span>deviceId</span> <input id="deviceId" placeholder="deviceId" value="" /></div> <div><span>token</span> <input id="token" placeholder="token" value="" /></div> <div><span>channelId</span> <input id="channelId" placeholder="channelId" value="0" /></div> <div><span>清晰度 高清:0 标清:1 </span><input id="streamId" placeholder="streamId 0 高清 1 标清" value="0" /></div> <div><span>播放类型 直播:1 录播:2</span> <input id="type" placeholder="1:直播 2:录播" value="1" /></div> <div><span>加密秘钥</span> <input id="code" placeholder="" value="" /></div> <div><span>录播类型 本地录像 localRecord 云录像</span> <input id="recordType" placeholder="默认云录像" value="" /></div><button id="start">开始播放</button> </div> <div id="root"></div> <div id="logs">logs:</div> <script>// 获取 url 中的值 进行赋值 window.onload = function () { const queryString = decodeURI(location.search) const params = new URLSearchParams(queryString) const deviceId = params.get('deviceId') const channelId = params.get('channelId') const token = params.get('token') const code = params.get('code') const streamId = params.get('streamId') const type = params.get('type') const recordType = params.get('recordType') if (deviceId) document.getElementById('deviceId').value = deviceId if (channelId) document.getElementById('channelId').value = channelId if (token) document.getElementById('token').value = token if (code) document.getElementById('code').value = code if (streamId) document.getElementById('streamId').value = streamId if (type) document.getElementById('type').value = type if (recordType) document.getElementById('recordType').value = recordType const button = document.getElementById('start') let player button.addEventListener('click', () => { player && player.destroy() player = null const deviceId = document.getElementById('deviceId').value // 获取所有的值,然后开始播放 const token = document.getElementById('token').value const channelId = document.getElementById('channelId').value const streamId = document.getElementById('streamId').value const type = document.getElementById('type').value const code = document.getElementById('code').value const recordType = document.getElementById('recordType').value const logs = document.getElementById('logs') // logs.inner player = new imouPlayer({ id: 'root', width: 800, height: 400, // 设备序列号 deviceId: deviceId || '7H0B188PCG1834B', // deviceId: '6M0C7E9PAZ0AE10', // deviceId: '5H08FAEPAJ304A6', token: token || 'Kt_hz00e4c3a295714b58901888f4dd4b34', channelId: channelId || 0, // 1 直播 2 录播 type: parseInt(type) || 1, // 直播 0 高清 1 标清 默认 streamId: streamId || 0, // 录播 云录像 1 本地录像 localRecord 默认 云录像 recordType: recordType || 'cloud', code // // 自动播放 // autoPlay: false }) console.log('player', player) player.on('play', (res) => { console.log('开始播放 play', res) logs.innerHTML += '开始播放 play' }) player.on('pause', () => { console.log('播放器暂停 pause') logs.innerHTML += '播放器暂停 pause' }) player.on('error', (res) => { // console.log('播放器错误 error', res) logs.innerHTML += `播放器错误 error${JSON.stringify(res)}` }) player.on('volume', (res) => { logs.innerHTML += 'volumer' console.log('声音控制', res) }) player.on('talk', (res) => { logs.innerHTML += JSON.stringify(res) console.log('对讲 talk', res) }) }) }</script> </body> </html>