Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <array>
- #include <cassert>
- #include <cstdint>
- #include <cstring>
- #include <exception>
- #include <fstream>
- #include <iostream>
- #include <string>
- #include <vector>
- #include <iterator>
- int main(int argc, char **argv) {
- const std::string &file_path = argv[1];
- const std::string out_path = argv[2];
- std::ifstream in_file;
- in_file.open(file_path, std::ifstream::binary);
- in_file.seekg(0, std::ios::end);
- int16_t sampleSize = in_file.tellg();
- in_file.seekg(0, in_file.beg);
- /* Length of wav file*/
- std::vector<int16_t>samples(sampleSize);
- std::vector<int16_t>dataSize(sampleSize * 2);
- /*Outfile */
- std::ofstream out_file;
- out_file.open(out_path, std::ios_base::binary);
- /* Read in the header information and Data Size information */
- in_file.read(reinterpret_cast<char *>(samples.data()), 44);
- in_file.read(reinterpret_cast<char *>(dataSize.data()), sampleSize);
- /* Output file */
- out_file.write(reinterpret_cast<char *>(samples.data()), 44);
- std::reverse(std::begin(dataSize), std::end(dataSize));
- out_file.write(reinterpret_cast<char *>(dataSize.data()), sampleSize);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement