i want write QAudioBuffer to mp3
how to create headers?
give me any man or doc, something

i look example audiodecoder , but "wav" not "mp3"


Qt Code:
  1. bool mpegFileWriter::writeHeader(const QAudioFormat &format)
  2. {
  3. // check if format is supported
  4. if (format.byteOrder() == QAudioFormat::BigEndian || format.sampleType() != QAudioFormat::SignedInt)
  5. return false;
  6.  
  7. CombinedHeader header;
  8. memset(&header, 0, HeaderLength);
  9.  
  10. #ifndef Q_LITTLE_ENDIAN
  11. // only implemented for LITTLE ENDIAN
  12. return false;
  13. #else
  14. // RIFF header
  15. memcpy(header.riff.descriptor.id, "RIFF", 4);
  16. header.riff.descriptor.size = 0; // this will be updated with correct duration:
  17. // m_dataLength + HeaderLength - 8
  18. // mpeg header
  19. memcpy(header.riff.type, "mpeg", 4);
  20. memcpy(header.mpeg.descriptor.id, "fmt ", 4);
  21. header.mpeg.descriptor.size = quint32(16);
  22. header.mpeg.audioFormat = quint16(1);
  23. header.mpeg.numChannels = quint16(format.channelCount());
  24. header.mpeg.sampleRate = quint32(format.sampleRate());
  25. header.mpeg.byteRate = quint32(format.sampleRate() * format.channelCount() * format.sampleSize() / 8);
  26. header.mpeg.blockAlign = quint16(format.channelCount() * format.sampleSize() / 8);
  27. header.mpeg.bitsPerSample = quint16(format.sampleSize());
  28.  
  29. // DATA header
  30. memcpy(header.data.descriptor.id,"data", 4);
  31. header.data.descriptor.size = 0; // this will be updated with correct data length: m_dataLength
  32.  
  33. return (file.write(reinterpret_cast<const char *>(&header), HeaderLength) == HeaderLength);
  34. #endif
  35. }
To copy to clipboard, switch view to plain text mode 
i replace wave to mpeg)))
mpg123 say header invalid