作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 AVAudioMixerNode 来更改音频格式。 this入门对我帮助很大。下面的代码给了我我想要的数据。但是我在电话的扬声器上听到了我自己的声音。我该如何预防?
func startAudioEngine()
{
engine = AVAudioEngine()
guard let engine = engine, let input = engine.inputNode else {
// @TODO: error out
return
}
let downMixer = AVAudioMixerNode()
//I think you the engine's I/O nodes are already attached to itself by default, so we attach only the downMixer here:
engine.attach(downMixer)
//You can tap the downMixer to intercept the audio and do something with it:
downMixer.installTap(onBus: 0, bufferSize: 2048, format: downMixer.outputFormat(forBus: 0), block: //originally 1024
{ (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in
//i get audio data here
}
)
//let's get the input audio format right as it is
let format = input.inputFormat(forBus: 0)
//I initialize a 16KHz format I need:
let format16KHzMono = AVAudioFormat.init(commonFormat: AVAudioCommonFormat.pcmFormatInt16, sampleRate: 11025.0, channels: 1, interleaved: true)
//connect the nodes inside the engine:
//INPUT NODE --format-> downMixer --16Kformat--> mainMixer
//as you can see I m downsampling the default 44khz we get in the input to the 16Khz I want
engine.connect(input, to: downMixer, format: format)//use default input format
engine.connect(downMixer, to: engine.outputNode, format: format16KHzMono)//use new audio format
engine.prepare()
do {
try engine.start()
} catch {
// @TODO: error out
}
}
最佳答案
您可以通过扬声器听到麦克风录音,因为您的麦克风已连接到 downMixer
,连接到 engine.outputNode
.您可能只是将 downMixer
的输出静音如果您不将它与其他输入一起使用:downMixer.outputVolume = 0.0
关于ios - 将 AVAudioMixerNode 连接到 AVAudioEngine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959379/
我使用 AVAudioMixerNode 来更改音频格式。 this入门对我帮助很大。下面的代码给了我我想要的数据。但是我在电话的扬声器上听到了我自己的声音。我该如何预防? func startAud
我需要帮助修复一个困扰我一个多月的难以捉摸的错误。 我知道需要查看很多代码,但问题的根源似乎是 installReadTapOnPadMixer() 和 updateVolumeData() 方法。
我有以下代码,它播放单个 MIDI 音符,但我希望能够调整平衡/声像,以便它仅从左扬声器或右扬声器或某些组合中播放。我认为更改“sampler.stereoPan”或“engine.mainMixer
我是一名优秀的程序员,十分优秀!