2016-05-02 2 views
2

Je suis nouveau dans le jeu iOS, et je suis en train d'utiliser AudioKit pour tracer un graphique de forme d'onde de sortie. Ma contribution est le microphone. J'ai été capable d'obtenir un signal du micro, mais je ne suis pas capable de comprendre comment mettre en place une vue graphique, ou comment accéder à leurs données de tracé même.En utilisant AudioKit pour tracer dans Waveform UIView

Ce terrain de jeu: http://audiokit.io/playgrounds/Output%20Waveform%20Plot/

Indique comment tracer en utilisant liveView dans la cour de récréation, mais pas comment convertir en un UIView. Le seul code que j'ai provient de cet exemple de terrain de jeu.

Y at-il un moyen de transformer un CGRect dans un graphique en temps réel tracé?

Toute aide serait appréciée! Même juste me montrant dans la bonne direction.

+0

Dans l'exemple, 'plotView' est la vue, vous n'avez pas à le convertir en quelque chose, il est déjà un UIView (https://github.com/audiokit/AudioKit/blob/master/AudioKit /Common/User%20Interface/AKView.swift). – Moritz

+0

@EricD Oh génial! Merci pour l'aide avec ça. Savez-vous s'il existe un moyen rapide d'envoyer cette vue à l'interface? En supposant que j'ai bien configuré IBOutlet (j'ai essayé de le configurer sur AKView' et 'UIView') y at-il un' UIView.setView'? Merci! –

Répondre

1

C'est à partir du code exemple de kit audio. Si vous mettez ceci dans la classe de votre vue, cela devrait fonctionner. C'est ce qui a fonctionné pour moi.

var mic: AKMicrophone! 
var tracker: AKFrequencyTracker! 
var silence: AKBooster! 

@IBOutlet weak var audioInputPlot: EZAudioPlot! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    AKSettings.audioInputEnabled = true 
    mic = AKMicrophone() 
    tracker = AKFrequencyTracker(mic) 
    silence = AKBooster(tracker, gain: 0) 
    setupPlot() 
} 

func setupPlot() { 
    let plot = AKNodeOutputPlot(mic, frame: audioInputPlot.bounds) 
    plot.plotType = .rolling 
    plot.shouldFill = true 
    plot.shouldMirror = true 
    plot.color = UIColor.blue 
    audioInputPlot.addSubview(plot) 
} 
+0

N'oubliez pas d'ajouter "UIView" dans votre View Controller et utilisez le nom de la classe: 'EZAudioPlot' – EssamSoft