0

mp3 ファイルをバッファに読み込んで、別の mp3 ファイルに書き込んで、最後に再生しようとしています。コンピューターは Windows XP で実行されています。しかし、ファイルを再生しようとすると、「入力メディア形式はサポートされていません」というエラー メッセージが表示されます。入力 mp3 ファイルのサイズは 7.31 MB、出力ファイルのサイズは 7.34 MB です。入力ファイルを読み取った後のバッファのサイズは 7671370 です。

説明したタスクを実行するためのコード スニペットを投稿しました。ここで間違いに光を当ててください。

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <mmsystem.h>
#include <sstream>
#include <fstream>


int main () {

    FILE * iFile, * oFile;
    long lSize;
    char * buffer;
    size_t result;

    iFile = fopen ( "Ajn1.mp3" , "r" );
    if (iFile==NULL) {fputs ("File error",stderr); }

    oFile = fopen ( "Ajn2.mp3" , "w" );
    if (oFile==NULL) {fputs ("File error",stderr); }


    fseek (iFile , 0 , SEEK_END);
    lSize = ftell (iFile);
    rewind (iFile);


    buffer = (char*) malloc (sizeof(char)*lSize);
    if (buffer == NULL) {fputs ("Memory error",stderr); }


    result = fread (buffer,1,lSize,iFile);

    printf("%d\n",result);

    fwrite(buffer,lSize,1,oFile);

    fclose (iFile);
    free (buffer);
    printf("%d",lSize);
    system("pause");
    return 0;
  }
4

0 に答える 0