aqData = AQRecorderState()
aqData.mDataFormat.mFormatID = kAudioFormatMPEG4AAC
aqData.mDataFormat.mSampleRate = 16000.0
aqData.mDataFormat.mChannelsPerFrame = 1
aqData.mDataFormat.mBitsPerChannel = 16
aqData.mDataFormat.mBytesPerPacket = aqData.mDataFormat.mChannelsPerFrame * UInt32(sizeof(UInt16))
aqData.mDataFormat.mBytesPerFrame = aqData.mDataFormat.mChannelsPerFrame * UInt32(sizeof(UInt16))
aqData.mDataFormat.mFramesPerPacket = 1
aqData.mDataFormat.mFormatFlags = kLinearPCMFormatFlagIsFloat | kLinearPCMFormatFlagIsBigEndian
aqData.mQueue = AudioQueueRef()
fileType = kAudioFileM4AType
// create new input for audio queue
AudioQueueNewInput(&aqData.mDataFormat, handleInputBuffer, &aqData, nil, kCFRunLoopCommonModes, 0, &aqData.mQueue)
var dataFormatSize:UInt32 = UInt32(sizeof(aqData.mDataFormat.dynamicType))
AudioQueueGetProperty(aqData.mQueue, kAudioQueueProperty_StreamDescription, &aqData.mDataFormat, &dataFormatSize)
// create file to store audio
let data = recordUrl.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
let audioFileURL: CFURLRef = CFURLCreateFromFileSystemRepresentation(nil, UnsafePointer(data.bytes), data.length, false)
AudioFileCreateWithURL(audioFileURL, fileType, &aqData.mDataFormat, AudioFileFlags.EraseFile, &aqData.mAudioFile)
// set magic cookie for file if needed
setMegicCookieForFile(aqData.mQueue, inFile: aqData.mAudioFile)
// derive buffer size
deriveBufferSize(aqData.mQueue, ASBDescription: &aqData.mDataFormat, seconds: kBufferLengthInSecond, outbufferSize: &aqData.bufferByteSize)
// allocate and enqueue each buffer
for i in 0..<Record.kNumberBuffers {
AudioQueueAllocateBuffer(aqData.mQueue, aqData.bufferByteSize, &aqData.mBuffers[i])
AudioQueueEnqueueBuffer(aqData.mQueue, aqData.mBuffers[i], 0, nil)
}
代码在行处产生错误
AudioQueueNewInput(&aqData.mDataFormat, handleInputBuffer, &aqData, nil, kCFRunLoopCommonModes, 0, &aqData.mQueue)
而错误消息是
AudioConverterNew from AudioQueueNew returned 'fmt?'
IO:1 ch,44100 Hz,Float32客户机:1 ch,44100 Hz,“AAC”(0x00000003)16位/通道,2字节/包,1帧/包,2字节/帧
我尝试过不同的音频格式设置,但似乎没有一个修复这个错误。有人能帮忙吗?
从CoreAudioTypes.h
头文件中,我们收集到以下内容:
kAudioFormatMPEG4AAC MPEG-4低复杂度AAC音频对象,没有标志。
aqData.mDataFormat.mBitsPerChannel = 0
aqData.mDataFormat.mBytesPerPacket = 0
aqData.mDataFormat.mBytesPerFrame = 0
aqData.mDataFormat.mFramesPerPacket = 1024
aqData.mDataFormat.mFormatFlags = 0
我有以下记录是通过一个带有几个连接的查询得到的: 现在,当我尝试检索不在结果中的特定列时: 其中生成具有以下详细信息的静态编程语言代码: 我希望得到null。但是,返回了错误的id值(zkn_zaak.id)。 我错过了什么?jOOQ不应该有足够的信息(表和字段名)来从记录中检索正确的列吗? =======更新============= 从代码来看,这似乎是预期的行为,并且已经在例如。https:
问题内容: 有谁知道我在哪里可以找到有关如何在Swift应用程序中录制音频的信息?我一直在看一些音频播放示例,但是在实现音频记录方面似乎找不到任何东西。谢谢 问题答案: 这是代码。您可以轻松地进行记录。将此代码写在上。它将按名称保存记录
问题内容: 我注意到了另一种执行答案的方法。使用AudioSystem.getAudioFileTypes()返回指定文件夹中的所有受支持的音频文件。我是一个经验不足的编码人员,无法在给定的答案中集成此方法 谁能告诉我该怎么做? 问题答案: 以下资源将显示特定于Java Sound可以理解的文件类型的。用户选择任何声音剪辑后,即可使用该应用程序。将获得该目录中所有剪辑的列表,并以组合方式显示它们。
问题内容: 我一直在尝试通过以下代码调整音频片段的音调: http://developer.android.com/guide/topics/media/audio- capture.html 我的猜测是应该使用进行此调整。 http://developer.android.com/reference/android/media/MediaRecorder.html 但是,我不确定调用哪种方法来改
我试图简单地使用Azure创建一个新的存储队列,但它一直崩溃而没有解释,创建表工作正常,这是相关代码: 行< code>healingQueue中的代码崩溃。CreateIfNotExists();以及< code>(400)错误请求的说明 表创建得很好,所以我假设存储帐户没有问题,知道我能做什么吗?
问题内容: 我正在尝试建立一个程序来录制一部分互联网音频流,并将其保存到文件(最好是mp3或wav)。我到处都看过,找不到任何合适的方法来做到这一点。我找到了两个似乎可以工作的不同库(NativeBass和Xuggle),但我都不支持64位Windows。 有谁知道使用Java保存一部分互联网音频流的任何简单方法?(如果重要,则为“音频/ mpeg”流)。 编辑:好的,我发现了一种可行的方法。但是