0
EZAudio를 사용하고 "수동 재 지정에 의한 재생"예제와 같이이 라이브러리 https://github.com/syedhali/EZAudio에서 제공하는 AudioBuffer에 내 softaware로 생성 된 샘플을 쓰려고합니다. .임의 값을 쓸 때 '잡음'을들을 수 없음
내 코드
// Completely override the output callback function
- (void)
output:(EZOutput *)output
callbackWithActionFlags:(AudioUnitRenderActionFlags *)ioActionFlags
inTimeStamp:(const AudioTimeStamp *)inTimeStamp
inBusNumber:(UInt32)inBusNumber
inNumberFrames:(UInt32)inNumberFrames
ioData:(AudioBufferList *)ioData {
//grab latest sample from sample queue
if (currentAudioPiece == nil || currentAudioPiece.duration >= currentAudioPieceIndex) {
self.currentAudioPiece = sampleQueue.dequeue;
}
AudioBuffer audioBuffer = ioData->mBuffers[0];
if (true) {
for (int i = 0; i < audioBuffer.mDataByteSize; i++) {
uint8_t rofl[2048];
arc4random_buf(&rofl, 2048);
audioBuffer.mData = rofl;
}
return;
}
//... more code that I'll debug later...'
는 기본적으로 I 메모리의 임의의 무리 약간의 소음을해야 재생하는 전성 검사를 얻을 수 없습니다입니다 ... 다음과 같습니다. 문제는 "audioBuffer.mData = rofl;"라고 생각합니다. 나는 void *에서의 메모리 작업에 대해 오히려 혼란 스럽습니다.
기기로 테스트를 받았습니까? – John
모든 것이 올바르게 설정되었다고 가정하면 (오디오 초기화 등), 문제의 라인에 대해 당신이 맞다고 생각합니다. 자신의 변수 ('rofl')를 만들고 mData에 할당하려고 시도하는 대신 (아마 가장 문제가되는) 대신'arc4random_buf'를'audioBuffer.mData'에서 직접 호출하십시오.이 경우 audioBuffer.mData는 EZAudio iOS/OSX의 일반적인 RemoteIO와 동일하게 작동합니다. –