Ios 什么可能会阻止使用MTAudioProcessingTap调用进程回调?

Ios 什么可能会阻止使用MTAudioProcessingTap调用进程回调?,ios,avfoundation,mediatoolbox,Ios,Avfoundation,Mediatoolbox,我已经准备了一个AVPlayer和avassetxportsession,它们都使用相同的MTAudioProcessingTap,但我无法调用进程回调。如果您能帮助我确定为什么不调用回调而其他回调调用,我将不胜感激 我只是简单地尝试用一个轻敲来处理音频,这样它就可以按比例增加音量。我可以添加audioMix,其中包括audioTapProcessor,但当我运行应用程序时,它只调用init和finalize回调 缺少什么阻止进程回调运行 var callbacks = MTAudioP

我已经准备了一个
AVPlayer
avassetxportsession
,它们都使用相同的
MTAudioProcessingTap
,但我无法调用
进程
回调。如果您能帮助我确定为什么不调用回调而其他回调调用,我将不胜感激

我只是简单地尝试用一个轻敲来处理音频,这样它就可以按比例增加音量。我可以添加
audioMix
,其中包括
audioTapProcessor
,但当我运行应用程序时,它只调用
init
finalize
回调

缺少什么阻止
进程
回调运行

    var callbacks = MTAudioProcessingTapCallbacks(
        version: kMTAudioProcessingTapCallbacksVersion_0,
        clientInfo: UnsafeMutableRawPointer(Unmanaged<AnyObject>.passUnretained(self as AnyObject).toOpaque()),
        init: tapInit,
        finalize: tapFinalize,
        prepare: tapPrepare,
        unprepare: tapUnprepare,
        process: tapProcess)

    var tap: Unmanaged<MTAudioProcessingTap>?
    let status = MTAudioProcessingTapCreate(kCFAllocatorDefault, &callbacks, kMTAudioProcessingTapCreationFlag_PostEffects, &tap)
    if status != noErr {
        debugPrint("Failed to create audio processing tap.")
        throw BoosterExporterError.failure
    }
var callbacks=MTAudioProcessingTapCallbacks(
版本:KMTudioProcessingTapCallbacksVersion\u 0,

clientInfo:UnsafeMutableRawPointer(非托管)

您需要找到音频轨迹ID,并将其设置为AVMUTABLEADIOMIXInputParameters以使其正常工作

AVMutableAudioMixInputParameters *audioMixInputParameters = [AVMutableAudioMixInputParameters audioMixInputParametersWithTrack:self.audioAssetTrack];
看看这里苹果的例子