相关疑难解决方法(0)

如何在iOS中添加PCM数据/缓冲区的可播放(如wav,wmv)标头?

我试图在原始PCM数据之上添加一个wav标题,以使其可以通过AVAudioPlayer播放.但我在iOS上使用Objective-C/Swift找不到任何解决方案或源代码.虽然我发现了这个,但它没有正确的答案.

但是我在这里发现了一段代码,它在C中并且还包含一些问题.wav文件无法正常播放,该文件是从该代码生成的.

到目前为止,我已经给出了我编码的代码.

int NumChannels = AUDIO_CHANNELS_PER_FRAME;
short BitsPerSample = AUDIO_BITS_PER_CHANNEL;
int SamplingRate = AUDIO_SAMPLE_RATE;
int numOfSamples = [[NSData dataWithContentsOfFile:filePath] length];

int ByteRate = NumChannels*BitsPerSample*SamplingRate/8;
short BlockAlign = NumChannels*BitsPerSample/8;
int DataSize = NumChannels*numOfSamples*BitsPerSample/8;
int chunkSize = 16;
int totalSize = 36 + DataSize;
short audioFormat = 1;

if((fout = fopen([wavFilePath cStringUsingEncoding:1], "w")) == NULL)
{
    printf("Error opening out file ");
}

fwrite("RIFF", sizeof(char), 4,fout);
fwrite(&totalSize, sizeof(int), 1, fout);
fwrite("WAVE", sizeof(char), 4, fout);
fwrite("fmt ", …
Run Code Online (Sandbox Code Playgroud)

c c++ audio objective-c ios

2
推荐指数
2
解决办法
9239
查看次数

标签 统计

audio ×1

c ×1

c++ ×1

ios ×1

objective-c ×1