Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-4 von insgesamt 4.

Werbeanzeige

08.09.2011, 22:30

Forenbeitrag von: »jinx«

MP3 aus Speicher abspielen

Es funktioniert jetzt. Ich poste hier mal meine Lösung, falls das mal irgendwer sucht. Grundsätzlich geht es einfach über den MemReader, sofern man den MediaType richtig setzt. Keine Ahnung warum es am Anfang nicht ging, aber irgendwie haben die ganzen direct show posts im netz eher verwirrt... Wahrscheinlich lag es am MediaType. C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 IFilterGraph* pGraph; IGraphBuilder* pBuilder; CMediaType mt; CMemStream* pStream; CMemReader* pReader; mt.major...

08.09.2011, 14:01

Forenbeitrag von: »jinx«

MP3 aus Speicher abspielen

Ich muss den Mediatype ja, wenn ich es richtig verstanden hab, selbst setzen... da hab ich mir für MP3 folgendes herausgefunden, was der CMemReader dann auch lädt: C-/C++-Quelltext 1 2 3 4 5 6 pmt->SetType(&MEDIATYPE_Audio); pmt->subtype = FOURCCMap(WAVE_FORMAT_MPEGLAYER3); pmt->SetFormatType(&FORMAT_WaveFormatEx); pmt->SetFormat((BYTE*)&mp3format, sizeof(MPEGLAYER3WAVEFORMAT)); pmt->bFixedSizeSamples = FALSE; pmt->bTemporalCompression = FALSE; Das Waveformat wird halt vorher noch gesetzt. Mit d...

08.09.2011, 12:49

Forenbeitrag von: »jinx«

MP3 aus Speicher abspielen

Hi, ah ja, ich erinnere mich. So bin ich eigentlich auf den ASFReader gekommen. Sorry, das hab ich gestern vergessen, hab da schon so viel ausprobiert. ;-) Also das hab ich so auch probiert: C-/C++-Quelltext 1 2 3 4 pStream->Init((BYTE*)pData, dwFileSize, INFINITE); pReader = new CMemReader(pStream, &MT, &r); pBuilder->AddFilter(pReader, L"SourceFilter"); pBuilder->Render(pReader->GetPin(0)); Der letzte Aufruf bricht dann mit pBuilder->Render caused DirectX error VFW_E_NO_TRANSPORT! Description:...

08.09.2011, 00:22

Forenbeitrag von: »jinx«

MP3 aus Speicher abspielen

Hi, ich benutze zum Abspielen von MP3s den WMASF Reader. Das funktioniert auch alles soweit ganz gut, wenn man die mp3 direkt aus einer Datei (über IFileSourceFilter) lädt. Allerdings würde ich sie lieber direkt aus dem Speicher abspielen und steh da etwas auf dem Schlauch. Eigentlich dachte ich, dass das ja nicht die Welt sein kann, es ändert sich ja quasi nur die Quelle; die Daten sind ja identisch. Allerdings scheint es nicht ganz so trivial zu sein. Also bisher läuft es ca so ab, was, wie ge...