아마도 C 개발자를위한 매우 쉬운 질문이지만, 저는 C를 처음 접했고 아직 모든 개념을 완전히 이해하지 못했습니다. 더 나은 방법이 있어야한다는이 잘 작동C에서 버퍼 (부호없는 char *) 연결
typedef struct {
unsigned char * data;
UInt32 size;
} SoundData;
SoundData audioData;
audioData.data = audioFiles[currentSoundDataIndex];
audioData.size = audioFilesSize[currentSoundDataIndex];
SoundData silenceData;
silenceData.size = 44100*2*fabs(silenceDuration-0.049f);
silenceData.data = malloc(silenceData.size);
memset(silenceData.data,0,silenceData.size);
//beat data
SoundData beatData;
beatData.size = (audioData.size + silenceData.size);
beatData.data = malloc(beatData.size);
for (int i=0; i<audioData.size; i++) {
beatData.data[i] = audioData.data[i];
}
for (int i=audioData.size; i<beatData.size; i++) {
beatData.data[i] = silenceData.data[i-audioData.size];
}
,하지만 난 느낌이 : 그래서 지금, 나는 일부 오디오를 스트리밍 2 버퍼 (audioData 및 silenceData)를 연결하여 다음을 사용하려면이 코드를 사용 그것을 할 수있는, 어쩌면 일부 기능을 내장? 한 번 들어
를 잘'memcpy' 아마 유용 할 것이다. – Erik
이상하게도, 나는 그것을 시도했기 때문에 작동하지 못했습니다 (사운드가 완전히 변경되었습니다!), 아마도 제대로 사용되지 않았지만, 꽤 똑바로 있지만, 다시 시도 할 것입니다 ... –
왜 C++ 태그입니까? C++ 솔루션은 다소 다릅니다. – Cubbi