
Roberto Cortés Monroy
Pregunta¿Alguien sabe porque me genera este error?
Uncaught (in promise) DOMException: The play method is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.```

Efrén Cruz
Hola, me pasaba lo mismo, me di cuenta que
player.muted
true
player.play()
player.muted
player.muted = !player.muted;

Roberto Cortés Monroy
mi código es el siguiente:
function MediaPlayer(config) { this.media = config.el; this.plugins = config.plugins || []; this._initPlugins(); } MediaPlayer.prototype._initPlugins = function () { const player = { play: () => this.play(), pause: () => this.pause(), media: this.media, get muted() { return this.media.muted; }, set muted(value) { this.media.value = value } } this.plugins.forEach(plugin => { plugin.run(player) }); } MediaPlayer.prototype.play = function () { this.media.play(); }; MediaPlayer.prototype.pause = function () { this.media.pause(); }; MediaPlayer.prototype.togglePlay = function () { if (this.media.paused) { this.play(); } else { this.pause(); } }; MediaPlayer.prototype.unmuteMute = function () { if (this.media.muted) { this.media.muted = false; console.log('Desmuteado de pana') } else { this.media.muted = true; console.log('Muteado de pana') } }; let muteado = document.querySelector('#muteo') function AutoPlay() { } AutoPlay.prototype.run = function (player) { if (!player.muted) { player.muted = true; } player.play(); } const video = document.querySelector('video'); const player = new MediaPlayer({ el: video, plugins: [new AutoPlay] }); const button = document.querySelector('button'); button.onclick = () => player.togglePlay(); muteado.onclick = () => player.unmuteMute()
Juan Pablo Celiz
Aunque también puede ser que el reproductor intente darle play al video apenas se carga la página y el browser tira ese error, creo que en clases anteriores el profe había explicado un error similar
Juan Pablo Celiz
Hola! Mmm a simple vista no comprendo muy bien en qué línea del código lo tienes, en base a la info que pasas puedo suponer que hay un error con algún this en referencía al contexto actual. Aunque también puede ser que no estés manejando algún error en promesas (?)