@@ -2,12 +2,14 @@ const api = require('./api');
22const config = require ( './config' ) ;
33const playerApi = require ( './player-api' ) ;
44const SCAudio = require ( '../vendor/playback/playback' ) . SCAudio ;
5+ const maestroLogger = require ( '../vendor/playback/playback' ) . MaestroCore . logger ;
56const StreamUrlRetriever = require ( '../vendor/playback/playback' ) . SCAudioPublicApiStreamURLRetriever . StreamUrlRetriever ;
6- const MaestroHTML5Player = require ( '../vendor/playback/playback' ) . MaestroHTML5Player . HTML5Player ;
7- const MaestroHLSMSEPlayer = require ( '../vendor/playback/playback' ) . MaestroHLSMSEPlayer . HLSMSEPlayer ;
7+ const MediaElementManager = require ( '../vendor/playback/playback' ) . SCAudioControllerHTML5Player . MediaElementManager ;
8+ const HTML5PlayerController = require ( '../vendor/playback/playback' ) . SCAudioControllerHTML5Player . HTML5PlayerController ;
9+ const HLSMSEPlayerController = require ( '../vendor/playback/playback' ) . SCAudioControllerHLSMSEPlayer . HLSMSEPlayerController ;
810const stringLoader = require ( '../vendor/playback/playback' ) . MaestroLoaders . stringLoader ;
911
10- const SNIPPET_FADEOUT = 3000 ; // ms
12+ const mediaElementManager = new MediaElementManager ( 'audio' , maestroLogger . noOpLogger ) ;
1113
1214/**
1315 * Fetches track info and instantiates a player for the track
@@ -42,11 +44,18 @@ module.exports = (trackPath, secretToken) => {
4244 loader : stringLoader
4345 } ) ;
4446
45- const player = SCAudio . buildPlayer ( {
46- playerClasses : [ MaestroHTML5Player , MaestroHLSMSEPlayer ] ,
47+ const player = new SCAudio . Player ( {
48+ controllers : [
49+ new HLSMSEPlayerController ( mediaElementManager ) ,
50+ new HTML5PlayerController ( mediaElementManager )
51+ ] ,
4752 streamUrlRetriever,
48- fadeOutDuration : track . policy === 'SNIP' ? SNIPPET_FADEOUT : 0
53+ getURLOpts : { preview : track . policy === 'SNIP' } ,
54+ streamUrlsExpire : true ,
55+ mediaSessionEnabled : true ,
56+ logger : maestroLogger . noOpLogger
4957 } ) ;
58+
5059 player . onPlay . subscribe ( ( ) => {
5160 if ( ! playRegistered ) {
5261 playRegistered = true ;
@@ -72,5 +81,5 @@ module.exports = (trackPath, secretToken) => {
7281 * can start even if `play()` is not from a user interaction.
7382 */
7483module . exports . activateAudioElement = ( ) => {
75- SCAudio . activateAudioElement ( ) ;
84+ mediaElementManager . activate ( ) ;
7685} ;
0 commit comments