Ich möchte Wellenformplotfunktionen zu meinem Soundrecorder/Player hinzufügen, indem ich Objective-C verwende. Ich entdeckte das AudioKit 4, das ein großartiges Framework zu sein scheint, und ich importierte die AudioKit & AudioKitUI-Frameworks von der Website audiokit.io. Ich verwende Xcode 9 mit iOS10.0 Ziel. Leider kann ich nicht einige Klassen aus dem Audiokit in meinem Objective-C-Code ... Zum Beispiel initialisieren, eine AKAudioPlayer Instanz zu erstellen, verwende ich:Verwenden von AudioKit mit Objective-C
AKAudioFile *audioFile = [[AKAudioFile alloc] initForReading: myURL error:&error];
AKAudioPlayer* playerAK = [[AKAudioPlayer alloc] initWithFile:audioFile looping:NO deferBuffering:false completionHandler:nil];
Von dem, was ich von Apple-Dokumentation verstehe über die Verwendung rasche Rahmen in Objective -C, dachte ich, dass die initWithFile: looping: deferBuffering: completionHandler:
die gute Übersetzung in Objective-C von dem schnellen init Aufruf in AKAudioPlayer.swift in Audiokit Rahmen definiert war:
public init(file: AKAudioFile,
looping: Bool = false,
deferBuffering: Bool = false,
completionHandler: AKCallback? = nil) throws...
die AKAudioFile Objektinstanziierung weder Warnung noch Fehler verursacht. Aber bei der Instantiierung von AKAudioPlayer gibt der Compiler einen Fehler zurück, der besagt, dass keine Schnittstelle den Selektor initWithFile: looping: deferBuffering: completionHandler:
erklärt Was mache ich falsch? Vielen Dank für die Hilfe
Danke. Aber AKAudioPlayer * player = [[AVAudioplayer alloc] init]; Erzeuge den gleichen Compiler Fehler ... (übrigens ist es AKAudioPlayer nicht AVAudioPlayer) – Denis
Sorry, ich habe es bearbeitet, ich arbeite seit kurzem täglich mit 'AVAudioPlayer' und es hält sich an meinen Kopf. Anyway kannst du '[[AKAudioPlayer alloc] init]' aka '[AKAudioPlayer new]' instanziieren? Übrigens gibt es ein Beispiel auf dem Repo https://github.com/AudioKit/AudioKit/tree/master/Examples/iOS/HelloObjectiveC, vielleicht wird es Ihnen den Anfang machen. –