RFs fs;
// Tworzymy sesj do serwera systemu plikw.
TInt err = fs.Connect();

if( err == KErrNone )
{
    _LIT( KNazwaPliku, "c:\\sample1.wav" );
    
    RFile plikWav;
    // Otwieramy plik.
    err = plikWav.Open( fs, KNazwaPliku, EFileRead );
    
    if( err == KErrNone )
    {
        TInt rozmiar=0;
        // Sprawdzamy rozmiar pliku.
        err = plikWav.Size( rozmiar );
        
        if( err == KErrNone )
        {
            // Tworzy deskryptor.
            HBufC8* dzwiek = HBufC8::New( rozmiar );
            if( dzwiek )
            {
                TPtr8 wskDzwiek = dzwiek->Des();
                // Musimy uy obiektu TPtr, poniewa metoda
                // RFile::Read() przyjmuje jako parametr referencj
                // do obiektu TDes8. Klasa HBufC8 nie dziedziczy z 
                // TDes8, ale TPtr tak.
                err = plikWav.Read( wskDzwiek );
                
                if( err == KErrNone )
                {
                    err = OdtworzDzwiek( wskDzwiek );
                    if( err )
                    {
                        // Obsuga bdu
                    }
                }
                else
                {
                    // Obsuga bdu
                }
                
                delete dzwiek;
            }
        }
        else
        {
            // Obsuga bdu
        }
        
        plikWav.Close();
    }
    else
    {
        // Obsuga bdu
    }
    
    fs.Close();
}
else
{
    // Obsuga bdu
}
