8

次のエラーが表示されます。

"Implicit conversion of Objective-C pointer type. Type "void*" requires a bridged cast.

ブリッジを使用して同様のコードを修正しましたが、これらのタイプの修正はここでは役に立ちません。コードのビットは次のとおりです。

AURenderCallbackStruct input;
input.inputProc = RenderTone;
input.inputProcRefCon = self;
err = AudioUnitSetProperty(
    toneUnit, 
    kAudioUnitProperty_SetRenderCallback, 
    kAudioUnitScope_Input,
    0, 
    &input, 
    sizeof(input));
NSAssert1(err == noErr, @"Error setting callback: %ld", err);

エラーのある 2 番目のコード ビット

SStatus result = AudioSessionInitialize(NULL, NULL, ToneInterruptionListener, self);
if (result == kAudioSessionNoError) {
    UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
    AudioSessionSetProperty(
        kAudioSessionProperty_AudioCategory,
        sizeof(sessionCategory),
        &sessionCategory);
}

すべての助けを前もってありがとう。

アップデート

問題が解決しました。ブリッジ キャスティングが正しく実装されていませんでした。だったはずです:

 input. inputProcRefCon =  (__bridge void*)self 
4

0 に答える 0