Advertisement
Guest User

Untitled

a guest
Jan 9th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. uint8_t *wavData;
  2.             SDL_AudioSpec fileSpec;
  3.             uint32_t streamLen = 0;
  4.             if (!SDL_LoadWAV(sWavFile.c_str(), &fileSpec, (uint8_t **)&wavData, &streamLen)) {
  5.                 std::cout << "Couldn't load audio file!\n" << SDL_GetError() << '\n';
  6.                 bSampleValid = false;
  7.                 return;
  8.             }
  9.  
  10.             std::ofstream test;
  11.             test.open("test.txt", std::ios::out | std::ios::trunc);
  12.             for (int i = 0; i < streamLen; i += 2) {
  13.                 test << (wavData[i] << 8 | wavData[i + 1]) << '\n';
  14.             }
  15.             test.close();
  16.  
  17.             SDL_AudioCVT cvt;
  18.             if (!SDL_BuildAudioCVT(&cvt, fileSpec.format, fileSpec.channels, fileSpec.freq,
  19.                 cge.sampleSpec.format, fileSpec.channels, fileSpec.freq)) {
  20.                 std::cout << "Failed to build cvt!\n" << SDL_GetError() << '\n';
  21.             }
  22.             cvt.buf = (uint8_t *)malloc(streamLen * cvt.len_mult);
  23.             cvt.len = streamLen;
  24.             memcpy(cvt.buf, wavData, streamLen);
  25.             SDL_FreeWAV((uint8_t *)wavData);
  26.             if (!SDL_ConvertAudio(&cvt)) {
  27.                 std::cout << "Failed to convert audio!\n" << SDL_GetError() << '\n';
  28.             }
  29.             fSample = (float *)cvt.buf;
  30.             nSamples = cvt.len_cvt / sizeof(float) / cge.spec.channels;
  31.             bSampleValid = true;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement