- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 2 von 2

Thema: Web Radio mit Buffer

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2020
    Beiträge
    7

    Web Radio mit Buffer

    Ich nutze den Code von https://github.com/educ8s/ESP32-Web-Radio-Simple (modifiziert für den ESP8266).

    Er ist "erschreckend" einfach ... und funktioniert. So weit, so gut.

    Er hat lediglich ein paar Probleme mit Verbindungsschwankungen, dann fängt die Übertragung an zu springen bzw. kurz zu pausieren.

    Im Verdacht habe ich dabei, dass bei jedem loop() nur 32 Bytes gelesen und abgespielt werden. Daher wollte ich einen einfachen Buffer einbauen, der erst einmal gefüllt wird, dann spielt der Player einen Abschnitt des Buffers, während dieser parallel weiter gefüllt bzw. modifiziert wird.

    Mir ist dabei aufgefallen, dass folgendes nicht äquivalent zu sein scheint:

    Code:
    // Originalcode ... funktioniert
    void loop() {
          ...
          if (client.available() > 0)
          {
            uint8_t bytesread = client.read(mp3buff, 32);
            player.playChunk(mp3buff, bytesread);   // bytesread ist immer 32
          }
          ...
    }
    Code:
    // Das funktioniert leider nicht
    bool written = false;
    void loop() {
          ...
          if (client.available() > 0 && !written)
          {
            uint8_t bytesread = client.read(mp3buff, 32);
            written = true;
          }
          if(written) {
            player.playChunk(mp3buff, 32);
            written = false;
          }
          ...
    }
    Ich weiß, das sieht erst einmal sinnfrei aus, ich wollte eigentlich nur das Einlesen in den Buffer vom eigentlichen Abspielen trennen, damit ich "in Ruhe" den Buffer befüllen kann.

    Leider gibt aber der zweite Code bei player.playChunk(...) immer eine Exception (9) aus. Irgendwas stimmt hier nicht ... habt ihr eine Idee?

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2020
    Beiträge
    7
    Ich habe den passenden RingBuffer für das Projekt gefunden: https://github.com/baldram/ESP_VS105...ce018c2d7d8fca

    Damit hat alles prima funktioniert

Ähnliche Themen

  1. Write to SPI tx-buffer
    Von kmrish im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 1
    Letzter Beitrag: 15.08.2011, 10:31
  2. Serialin Buffer
    Von Red im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 13
    Letzter Beitrag: 13.11.2008, 10:23
  3. RS232 (Hardware) Buffer
    Von Bumbum im Forum Elektronik
    Antworten: 24
    Letzter Beitrag: 22.04.2008, 20:35
  4. Anfängerfrage Buffer anlegen
    Von Picht im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 11.06.2007, 18:48
  5. serialout Buffer
    Von PicNick im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 17.01.2005, 08:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests