//
// ViewController.swift
// omi_demo
//
//
import UIKit
import omi_lib
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.lookForDevice()
}
func lookForDevice() {
OmiManager.startScan { device, error in
// connect to first found omi device
print("starting scan")
if let device = device {
print("got device ", device)
self.connectToOmiDevice(device: device)
OmiManager.endScan()
}
}
}
func lookForSpecificDevice(device_id: String) {
OmiManager.startScan { device, error in
// connect to first found omi device
if let device = device, device.id == "some_device_id" {
print("got device ", device)
self.connectToOmiDevice(device: device)
OmiManager.endScan()
}
}
}
func connectToOmiDevice(device: Device) {
OmiManager.connectToDevice(device: device)
self.listenToLiveTranscript(device: device)
self.reconnectIfDisconnects()
}
func reconnectIfDisconnects() {
OmiManager.connectionUpdated { connected in
if connected == false {
self.lookForDevice()
}
}
}
func listenToLiveTranscript(device: Device) {
OmiManager.getLiveTranscription(device: device) { transcription in
print("transcription:", transcription ?? "no transcription")
}
}
func listenToLiveAudio(device: Device) {
OmiManager.getLiveAudio(device: device) { file_url in
print("file_url: ", file_url?.absoluteString ?? "no url")
}
}
}