0
我正在使用EZAudio,並嘗試將一些由我的softaware生成的示例寫入此庫提供的AudioBuffer https://github.com/syedhali/EZAudio,如示例中的「通過手動覆蓋播放」 。寫入隨機值時無法聽到「噪音」iOS中的AudioBuffer
我的代碼看起來像這樣...
// 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...'
從本質上講,我不能讓一個理智檢查存儲器的一串隨機播放應該會產生一些噪音。我認爲問題出在「audioBuffer.mData = rofl;」。我對使用void *的內存感到困惑。
您是否在設備上測試過? – John
假設一切設置正確(音頻初始化等),我懷疑你是對的問題線。而不是創建自己的變量('rofl'),然後嘗試將其分配給mData(最可能是問題),而是直接在'audioBuffer.mData'上調用'arc4random_buf',如果EZAudio應該已經初始化與iOS/OSX中的正常RemoteIO相同。 –