Also fassen wir mal zusammen was du machst:
- Du baust dir einen Dateinamen in fname zusammen
- Du lädst eine Ressource in rStream, kopierst diese in den MemoryStream fStream und gibst beides wieder frei
- Und nun versuchst du aus der Datei, deren Dateiname in fname steht, zu lesen
Aber du benutzt den Inhalt der Ressource ja nirgends. Du lädst ja nach wie vor einfach aus der .mp3 Datei.
Lösungen:
- Du kopierst den Inhalt der Ressource in einen TFileStream und legst die Datei lokal ab. Dann solltest du das allerdings nicht im Anwendungsverzeichnis machen, da du dort normalerweise keine Schreibrechte hast.
- Oder du benutzt eine richtige Mediaplayer-Bibliothek wie bass, die auch aus Streams abspielen kann. Dann brauchst du auch die lokale Datei nicht mehr.