- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
与 EZAudio我想尽可能创建单光音频缓冲区列表。在过去,我每个 audioBuffer 达到 46 个字节,但 bufferDuration 相对较小。首先,如果我使用下面的 AudioStreamBasicDescription 进行输入和输出
AudioStreamBasicDescription audioFormat;
audioFormat.mBitsPerChannel = 8 * sizeof(AudioUnitSampleType);
audioFormat.mBytesPerFrame = sizeof(AudioUnitSampleType);
audioFormat.mBytesPerPacket = sizeof(AudioUnitSampleType);
audioFormat.mChannelsPerFrame = 2;
audioFormat.mFormatFlags = kAudioFormatFlagsCanonical | kAudioFormatFlagIsNonInterleaved;
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mFramesPerPacket = 1;
audioFormat.mSampleRate = 44100;
audioFormat.mSampleRate = 8000.00;
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mFormatFlags = kAudioFormatFlagsCanonical | kAudioFormatFlagIsNonInterleaved;
audioFormat.mFramesPerPacket = 1;
audioFormat.mChannelsPerFrame = 1;
audioFormat.mBitsPerChannel = 8;
audioFormat.mBytesPerPacket = 1;
audioFormat.mBytesPerFrame = 1;
-(void)initMicrophone{
AudioStreamBasicDescription audioFormat;
//*
audioFormat.mBitsPerChannel = 8 * sizeof(AudioUnitSampleType);
audioFormat.mBytesPerFrame = sizeof(AudioUnitSampleType);
audioFormat.mBytesPerPacket = sizeof(AudioUnitSampleType);
audioFormat.mChannelsPerFrame = 2;
audioFormat.mFormatFlags = kAudioFormatFlagsCanonical | kAudioFormatFlagIsNonInterleaved;
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mFramesPerPacket = 1;
audioFormat.mSampleRate = 44100;
/*/
audioFormat.mSampleRate = 8000.00;
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mFormatFlags = kAudioFormatFlagsCanonical | kAudioFormatFlagIsNonInterleaved;
audioFormat.mFramesPerPacket = 1;
audioFormat.mChannelsPerFrame = 1;
audioFormat.mBitsPerChannel = 8;
audioFormat.mBytesPerPacket = 1;
audioFormat.mBytesPerFrame = 1;
//*/
_microphone = [EZMicrophone microphoneWithDelegate:self withAudioStreamBasicDescription:audioFormat];
_output = [EZOutput outputWithDataSource:self withAudioStreamBasicDescription:audioFormat];
[EZAudio circularBuffer:&_cBuffer withSize:128];
}
-(void)startSending{
[_microphone startFetchingAudio];
[_output startPlayback];
}
-(void)stopSending{
[_microphone stopFetchingAudio];
[_output stopPlayback];
}
-(void)microphone:(EZMicrophone *)microphone
hasAudioReceived:(float **)buffer
withBufferSize:(UInt32)bufferSize
withNumberOfChannels:(UInt32)numberOfChannels{
dispatch_async(dispatch_get_main_queue(), ^{
});
}
-(void)microphone:(EZMicrophone *)microphone
hasBufferList:(AudioBufferList *)bufferList
withBufferSize:(UInt32)bufferSize
withNumberOfChannels:(UInt32)numberOfChannels{
//*
abufferlist = bufferList;
/*/
audioBufferData = [NSData dataWithBytes:bufferList->mBuffers[0].mData length:bufferList->mBuffers[0].mDataByteSize];
//*/
dispatch_async(dispatch_get_main_queue(), ^{
});
}
-(AudioBufferList*)output:(EZOutput *)output needsBufferListWithFrames:(UInt32)frames withBufferSize:(UInt32 *)bufferSize{
//*
return abufferlist;
/*/
// int bSize = 128;
// AudioBuffer audioBuffer;
// audioBuffer.mNumberChannels = 1;
// audioBuffer.mDataByteSize = bSize;
// audioBuffer.mData = malloc(bSize);
//// [audioBufferData getBytes:audioBuffer.mData length:bSize];
// memcpy(audioBuffer.mData, [audioBufferData bytes], bSize);
//
//
// AudioBufferList *bufferList = [EZAudio audioBufferList];
// bufferList->mNumberBuffers = 1;
// bufferList->mBuffers[0] = audioBuffer;
//
// return bufferList;
//*/
}
bSize
的值在输出中:needsBufferListWithFrames:withBufferSize: 可能已更改。
最佳答案
我有同样的问题,移动到 AVAudioRecorder 并设置我需要的参数我保留 EZAudio(EZMicrophone)用于音频可视化这里是实现此目的的链接:
iOS: Audio Recording File Format
关于ios - EZAudio 自定义 AudioStreamBasicDescription 没有按我的预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21404617/
我正在尝试了解 AudioStreamBasicDescription 结果。实际上,我能得到的东西对我来说都没有意义。例如: AudioStreamBasicDescription(mSampleR
我正在尝试使用 AudioQueue 从服务器播放 PCM 流数据。 PCM 数据格式: Sample rate = 48000, num of channel = 2, Bit per sample
这些是我传入的值,这是我可以使用的唯一值组合。 dataFormat.mSampleRate = 44100; dataFormat.mFormatID = kAudioFormatLinear
与 EZAudio我想尽可能创建单光音频缓冲区列表。在过去,我每个 audioBuffer 达到 46 个字节,但 bufferDuration 相对较小。首先,如果我使用下面的 AudioStrea
在 AudioStreamBasicDescription 结构中: struct AudioStreamBasicDescription { Float64 mSampleRate;
我正在尝试在 iOS 上播放一个简单的 PCM 文件,但我无法理解 AudioStreamBasicDescription 和这个 link没有提供足够的信息。 我从终端获取这些值 afinfo Bl
我尝试使用更多的 AudioStreamBasicDescription 来处理 m4a 文件格式。我仍然遇到一些问题。 请任何人告诉我 m4a 文件格式的确切 AudioStreamBasicDes
CAStreamBasicDescription 和 AudioStreamBasicDescription 有什么区别?谢谢。 最佳答案 CAStreamBasicDescription 只是 Au
我需要帮助理解以下 ASBD。这是分配给 RemoteIO 的新实例的默认 ASBD (我通过在 AudioUnitGetProperty(..., kAudioUnitProperty_Stream
我想知道如何创建 [String:AnyObject] 的字典来自 UnsafePointer 我想我不明白如何使用 UnsafePointer在Swift .这是我的起点 - AVAudioFile
在 Objective-C 中,您应该始终将新音频流基本描述结构的字段初始化为零,如下所示: AudioStreamBasicDescription myAudioDataFormat = {0};
我正在使用音频单元录制一些 PCM 音频。在回调中,当我有 30 秒的音频时,我想将一个 8000Hz AAC 编码的文件写入磁盘,比特率为 12kb/s。 这是我使用的 AudioStreamBas
由于关于 MTAudioProcessingTap 的文档非常少(实际上几乎没有),我使用的是 Apple's demo app from WWDC 2012 . 我正在尝试在 MTAudioProc
我有这段代码 var dataFormat: AudioStreamBasicDescription? var propSize: UInt32 = UInt32(Me
这是我们用来设置 AudioStreamBasicDescription (ASBD) 的函数。整个类(class)都深受 SpeakHere 的影响。 Apple 的示例应用程序。 这适用于在 iO
我正在编写一个使用 CoreAudio 的音频单元 API 的 iOS 应用程序,并且在某个时候我执行了一个 AudioUnitGetProperty(audioUnit, kAudioUnitPro
我在为上述格式创建描述时遇到了问题,并且尝试了很多方法,但在尝试记录时总是收到无效参数。 有没有人有如何创建这种格式的示例? var audioFileOutputDescription : Audi
我是一名优秀的程序员,十分优秀!