python – Fallo al reproducir video en flutter

estoy intentado hacer un “sistema de streaming casero” el cual esta compuesto de una base de datos Postgresql, Odoo11(Python3.8) y Flutter(Dart).

La idea es crear un endpoint en Odoo por el cual obtengo la url del video asociado a la base datos:

    @http.route(('/downloadVideoFile2/<int:partnerId>/<int:fileId>'), type='http', csrf=False, auth="public", cors="*")
def downloadVideoFile(self, partnerId, fileId):

    result = {}
    res = ()
    msg = ''
    st = 400
    mainvideo = ""

    # Se verifica que el token sea correcto
    #verification = self.checkJWTToken(request, partnerId)

    #st = verification('status') or 400
    #msg = verification('message')

    logger.info(st)
    logger.info(msg)
    
    logger.info('-------------------------------------HE ENTRADO-----------------------------------------------------')

    cr, uid, context, registry = request.cr, request.uid, request.context, request.registry

        
    # Obtenemos el id del paciente a partir del id del partner.
    patientId = self.getPatientIdThroughPartnerId(partnerId)
    # Obtenemos el id del clinical record a partir del id del paciente.
    clinicalRecordId = self.getClinicalRecordIdThroughPatientId(patientId)
    
    qry = (('id', '=', fileId))
    #Sacamos la lista de archivos que tengan el mismo id del directorio
    filecontent = request.env('muk_dms.file').sudo().search(qry).reference.data
    mainvideo = base64.b64decode(filecontent or '') 

    headers = (('Content-Type', 'video/mp4'),('Accept-Ranges', 'bytes'))
   
        
    headers.append(('Content-Length', len(mainvideo)))
        
    return request.make_response(mainvideo, headers)

Lo importante es “mainvideo” que contiene información de un archivo mp4 en formato hexadecimal. Es el contenido de la respuesta. La url generada se ven de esta manera : http://localhost:8069/downloadVideoFile2/56/6

Ahora bien cuando ataco al endpoint desde Postman obtengo respuesta sin problema ninguno :
introducir la descripción de la imagen aquí

El problema aparece cuando intento reproducir el video desde flutter(Con un móvil virtualizado):

super.initState();
Map<String, String> mapa = {
  "Authorization": widget.jwtToken,
  "Connection": "keep-alive",
  "Range": "bytes=0-"
};
Map<String, String> mapa2 = {
  "Connection": "keep-alive",
  "Range": "bytes=0-"
};

BetterPlayerDataSource betterPlayerDataSource = BetterPlayerDataSource(
    BetterPlayerDataSourceType.network,
    "http://10.0.2.2:8069/downloadVideoFile2/56/6",
    videoFormat: BetterPlayerVideoFormat.other,
    headers: mapa2);
_betterPlayerController = BetterPlayerController(
    BetterPlayerConfiguration(),
    betterPlayerDataSource: betterPlayerDataSource);

}

Me salta este error: E/flutter (10051):

(ERROR:flutter/lib/ui/ui_dart_state.cc(199)) Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, null, null)
E/flutter (10051):
E/ExoPlayerImplInternal(10051): Playback error
E/ExoPlayerImplInternal(10051): com.google.android.exoplayer2.ExoPlaybackException: Source error
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:579)
E/ExoPlayerImplInternal(10051): at android.os.Handler.dispatchMessage(Handler.java:102)
E/ExoPlayerImplInternal(10051): at android.os.Looper.loop(Looper.java:223)
E/ExoPlayerImplInternal(10051): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(10051): Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: java.io.EOFException
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.read(DefaultHttpDataSource.java:445)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.upstream.StatsDataSource.read(StatsDataSource.java:92)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFromUpstream(DefaultExtractorInput.java:283)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFully(DefaultExtractorInput.java:75)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomHeader(Mp4Extractor.java:335)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:241)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1048)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:415)
E/ExoPlayerImplInternal(10051): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/ExoPlayerImplInternal(10051): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/ExoPlayerImplInternal(10051): at java.lang.Thread.run(Thread.java:923)
E/ExoPlayerImplInternal(10051): Caused by: java.io.EOFException
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.skipInternal(DefaultHttpDataSource.java:751)
E/ExoPlayerImplInternal(10051): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.read(DefaultHttpDataSource.java:441)
E/ExoPlayerImplInternal(10051): … 11 more
E/flutter (10051): (ERROR:flutter/lib/ui/ui_dart_state.cc(199)) Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, null, null)
E/flutter (10051):

También decir que cuando son videos pequeños no fallan, solo con videos mas largos y además cuando pulso reiteradamente en intentar funciona.

No si alguien se ha topado con este problema o sabe como solucionarlo.
Muchas gracias de antemano!!

quiero poder usar el valor de una variable de javascript en html, es para reproducir un video y en la variable esta la direccion local :)

<!DOCTYPE html>
<html lang="sp">
<head>
    <meta charset="UTF-8">
    <title>Reproductor de Video</title>

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="main.css">
</head>
<body>
    <div class="container">
        <video src = "lista/jake.mp4"  autoplay></video>
        <i class="fa fa-play med_icon icon_white pointer"></i>

        <div class="pull-right">
            <i class="fa fa-volume-up"></i>
            <i class="fa fa-expand"></i>
            <i class="fa fa-arrows-alt"></i>
        </div>
    </div>
</body>
</html>


solo me funciona de esa forma, haciendo referencia directa a la direccion del video, cuando esta puede variar, y, por ello, lo estoy guardando en una variable de javascript, pero no se como referenciar el dato guardado de esa variable en html

Reproducir y pausar sonido con el mismo botón en Arduino uno y sparkfun mp3 shield

Tengo un Arduino 1 v3 y una sparkfun mp3 player shield v15. Necesito que con un mismo botón (un botón arcade) al pulsarlo la primera vez dispare un mp3 y al pulsarlo otra vez se pare. Así en loop, intente copiar de un proyecto de ejemplo de sparkfun pero no soy capaz de que suene.

#include <SPI.h>             // SPI library
#include <SdFat.h>           // SDFat Library
//#include <SdFatUtil.h>     // SDFat Util Library
#include <SFEMP3Shield.h>    // Mp3 Shield Library

SFEMP3Shield MP3player;


int reedSwitch = 4;  
boolean active = false;


void setup() {
  pinMode(reedSwitch, INPUT); //Reed Switch
  digitalWrite(reedSwitch, HIGH); //turn on internal pullups for reed input

  MP3player.begin();
  MP3player.setVolume(0x00, 0x00); //set volume
}

void loop() 
{
  
    if (digitalRead(reedSwitch) == HIGH && !active)//when door opens
    {
      active = true;
      MP3player.stopTrack();
      MP3player.playTrack(1);
    }
    else if (digitalRead(reedSwitch) == LOW && active)//
    {
      active = false;
      MP3player.stopTrack();
  
    }

  delay(100);
}

javascript – Reproducir un audio MP3 mediante onClick en Next.JS

Tengo dudas sobre este código. El objetivo que quiero lograr es conseguir reproducir una pequeña porción de audio en mp3 (que ha sido designado en la función) cuando se haga ‘click’ en el botón. Alguna idea? Gracias.

import Head from 'next/head'

    export default function Home() {
      function play() {
        var audio = document.getElementById('a1');
        audio.play();
      }

      return (
        <div className='home'>
          <Head>
            <title>Create Next App</title>
            <link rel='icon' href="https://es.stackoverflow.com/favicon.ico" />
          </Head>
          <div className='container'>
            <div className='col'>
              <button onClick={play()}>Click</button>
              <audio id='a1' src='/static/src.mp3'></audio>
          </div>