Игрок не может автоматически играть при загрузке - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь запустить DZ-плеер при загрузке страницы, который будет воспроизводить мой поток напрямую.

Я могу инициализировать плеер, войти в систему, загрузить треки в плеер с помощью DZ.player.playTracks(), ноэто фактически не начинает играть песни (как это должно).

DZ.player.isPlaying() - это undefined после вызова DZ.player.playTracks().

Мне нужно один раз вручную нажать кнопку воспроизведения (в виджете, загруженном Deezer), прежде чем я смогу использоватьМетоды DZ.player.play(), DZ.player.pause() или DZ.player.playTracks().

В итоге моя цель - использовать скрытого игрока, поэтому у меня не будет возможности нажать на кнопку этого виджета.

У меня есть некоторые ошибки в консоли, подобные этой (не уверен, что это связано):

Директива политики безопасности контента «upgrade-insecure-запросы» игнорируется при доставке в политике только для отчетов.

Директива Content Security Policy 'upgrade-insecure-запросы' игнорируется при доставке в политике только для отчетов. player.php? channel = http://localhost:8080/dz-custom/channel.html&app_id=1234XXXX&emptyPlayer=true:1

РЕДАКТИРОВАТЬ: Вот код, который я использую с ( player_invisible.html )

<!DOCTYPE html>


    
    
    
    
    
    
    
        .progressbarplay {
            cursor:pointer;overflow: hidden;height: 8px;margin-bottom: 8px;background-color: #F7F7F7;background-image: -moz-linear-gradient(top,whiteSmoke,#F9F9F9);background-image: -ms-linear-gradient(top,whiteSmoke,#F9F9F9);background-image: -webkit-gradient(linear,0 0,0 100%,from(whiteSmoke),to(#F9F9F9));background-image: -webkit-linear-gradient(top,whiteSmoke,#F9F9F9);background-image: -o-linear-gradient(top,whiteSmoke,#F9F9F9);background-image: linear-gradient(top,whiteSmoke,#F9F9F9);background-repeat: repeat-x;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius: 6px;-moz-border-radius: 6px;border-radius: 6px;
        }
        .progressbarplay .bar {
            cursor:pointer;background: #4496C6;width: 0;height: 8px;color: white;font-size: 12px;text-align: center;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;-webkit-transition: width .6s ease;-moz-transition: width .6s ease;-ms-transition: width .6s ease;-o-transition: width .6s ease;transition: width .6s ease;
        }
    




    
    
    




$(document).ready(function(){ $("#controlers input").attr('disabled', true); $("#slider_seek").click(function(evt,arg){ var left = evt.offsetX; console.log(evt.offsetX, $(this).width(), evt.offsetX/$(this).width()); DZ.player.seek((evt.offsetX/$(this).width()) * 100); }); }); function event_listener_append() { var pre = document.getElementById('event_listener'); var line = []; for (var i = 0; i < arguments.length; i++) { line.push(arguments[i]); } pre.innerHTML += line.join(' ') + "\n"; } //get token var utoken = Cookies.get('utoken'); console.log(utoken); function onPlayerLoaded() { $("#controlers input").attr('disabled', false); event_listener_append('player_loaded'); DZ.Event.subscribe('current_track', function(arg){ event_listener_append('current_track', arg.index, arg.track.title, arg.track.album.title); }); DZ.Event.subscribe('player_position', function(arg){ event_listener_append('position', arg[0], arg[1]); $("#slider_seek").find('.bar').css('width', (100*arg[0]/arg[1]) + '%'); }); DZ.Event.subscribe('track_end', function() { event_listener_append('track_end'); }); } function login() { DZ.login(function (response) { if (response.authResponse) { console.log('Welcome! Fetching your information.... '); DZ.api('/user/me', function (response) { console.log('Good to see you, ' + response.name + '.'); }); utoken = response.authResponse.accessToken; Cookies.set('utoken', utoken) } else { console.log('User cancelled login or did not fully authorize.'); } }, { perms: 'email, manage_library,offline_access' }); }; document.addEventListener('DOMContentLoaded', function() { DZ.init({ appId : 'MY_APP_ID', channelUrl : 'http://localhost:8080/dz-custom/channel.html', player : { onload : onPlayerLoaded } }); DZ.ready(function(sdk_options){ if(!utoken || utoken== "null") { console.log('not logged'); login(); } else { console.log("player ready"); DZflow('start'); } }); }); function DZflow(fn){ DZ.api('/user/MY_USER_ID/flow', 'GET',{access_token: utoken},function (response) { console.log(response); playMode = "flow"; trackArr = response.data; var trackIds = trackArr.map(obj => { var rObj = []; rObj.push(obj['id']); return rObj; }); switch(fn){ case 'start': console.log('Starting flow'); DZ.player.playTracks(trackIds); break; case 'add': console.log('Adding songs to flow'); DZ.player.addToQueue(trackIds); break; default: DZ.player.playTracks(trackIds); console.log('unknown DZflow fn',fn) } } ); }
event_listener :

Кто-нибудь сталкивался с этой проблемой? Я что-то упустил в процессе инициализации проигрывателя?

1 Ответ

0 голосов
/ 18 октября 2019

Убедитесь, что ваш SDK готов

для ошибки обновления-небезопасные запросы проблема, вы можете проверить информацию здесь

...