core-audio

    0热度

    1回答

    我有这样的代码在夫特3和我的输出是大多数时间0.0零和很少我看到非常小的数字到E^-50 指定fileurl是记录。咖啡厅里有声音。 有谁知道这是怎么回事? func readBuff(_ fileURL:CFURL) { var fileRef:ExtAudioFileRef? = nil let openStatus = ExtAudioFileOpenURL(fileURL

    1热度

    1回答

    是否有可能在AVRecorder框架中创建类似于AudioQueue服务的缓冲区概念。在我的应用程序中,我需要捕获音频缓冲区并通过Internet发送它。服务器连接部分已完成,但我想知道是否有办法在前台连续录制语音,并使用Swift将此音频缓冲区在后台通过缓冲区传递到服务器。 评论赞赏。

    1热度

    1回答

    我正在使用支持输入的AUHAL音频单元接收来自内置的imac麦克风的输入。这是有效的(在我的回调中,我将样本写入文件并导致完美记录)。 现在,因为输入的AUHAL可能没有与其连接到的设备不同的采样率,所以我希望我的音频单元对设备上的采样率变化做出反应。为了测试这个,我改变了麦克风在Audio Midi Setup(实际上,AUHAL崩溃)中的采样率。 我已经使用AudioObjectAddProp

    0热度

    1回答

    我需要在我的应用程序中进行一些系统范围的音频处理。 我已经安装了Soundflower,并将其选为我的默认输出设备以获取系统音频。我知道Soundflower只是将混合缓冲区复制到ThruBuffer并将其传递给应用程序,以便他们可以在回调中获得它。 我不明白的是在完成音频处理之后如何将音频路由回内置输出设备。我将Soundflower设备作为默认设备,当我尝试将音频路由到默认输出单元时,它会产生

    2热度

    1回答

    我正在从事iOS项目,需要从麦克风捕获输入并将其转换为ULaw(发送数据流)。我正在使用带有转换器节点的AUGraph来完成此操作。该图创建成功并初始化,但是在我的渲染通知回调中,即使认为inNumberFrame包含值93,ioData缓冲区也始终包含NULL。我认为它可能有一些由于格式转换器缓冲区的大小不正确,但我可以了解正在发生的事情。 下面是代码: OSStatus status; /

    3热度

    1回答

    我正在使用SpeakerBox应用程序作为我的VOIP应用程序的基础。我已经设法让所有的东西都能正常工作,但我似乎无法摆脱音频从麦克风到设备扬声器的“短路”。 换句话说,当我打电话时,我可以听到讲话者的声音以及对方的声音。我该如何改变这一点? AVAudioSession设置: AVAudioSession *sessionInstance = [AVAudioSession sharedInst

    0热度

    1回答

    我正在使用AVFoundation获取系统上的音频捕获设备列表,并且我想确定系统上的任何应用程序当前是否正在捕获来自此设备的音频或正在使用该设备。 我看到AVCaptureDevice有一个isInUseByAnotherApplication值,但看起来只有当另一个应用程序在该设备上有独占锁时,该标志才存在。 是否有可能确定应用程序当前是否从OS X上的AVCaptureDevice捕获音频?

    1热度

    3回答

    我的代码: let data = Data(bytes: UnsafePointer<UInt8>(audioBuffer.mData), count: Int(bufferSize)) 和 let u16 = UnsafePointer<Int32>(audioBuffer.mData).pointee 这两者工作雨燕2.3,但不是在斯威夫特3.如何转换他们,使他们采取行动等效? (以及

    1热度

    1回答

    我对从麦克风采集的音频下采样有问题。我使用AVAudioEngine从下面的代码话筒取样品: assert(self.engine.inputNode != nil) let input = self.engine.inputNode! let audioFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: 8

    3热度

    2回答

    我试图从音频单元的流设置为32位浮点的渲染AudioBufferList中提取本机[Float]数组。在斯威夫特1 & 2我这样做: var monoSamples = [Float]() for i in 0..<Int(inNumberFrames) { withUnsafePointer(to: &bufferList.mBuffers.mData, {