|
|
@ -86,10 +86,18 @@ public final class SonioxLiveSession { |
|
|
self.targetLanguage = effectiveTarget |
|
|
self.targetLanguage = effectiveTarget |
|
|
|
|
|
|
|
|
let hints = languageHints.map { "language_hints=\($0)" }.joined(separator: "&") |
|
|
let hints = languageHints.map { "language_hints=\($0)" }.joined(separator: "&") |
|
|
var urlStr = "\(endpoint)?\(hints)&enable_speaker_diarization=false&enable_language_identification=true&enable_endpoint_detection=false&providers=soniox" |
|
|
|
|
|
|
|
|
var queryParams: [String] = [] |
|
|
|
|
|
if !hints.isEmpty { |
|
|
|
|
|
queryParams.append(hints) |
|
|
|
|
|
} |
|
|
|
|
|
queryParams.append("enable_speaker_diarization=false") |
|
|
|
|
|
queryParams.append("enable_language_identification=true") |
|
|
|
|
|
queryParams.append("enable_endpoint_detection=false") |
|
|
|
|
|
queryParams.append("providers=soniox") |
|
|
if let target = effectiveTarget, !target.isEmpty, target != "off" { |
|
|
if let target = effectiveTarget, !target.isEmpty, target != "off" { |
|
|
urlStr += "&target_language=\(target)" |
|
|
|
|
|
|
|
|
queryParams.append("target_language=\(target)") |
|
|
} |
|
|
} |
|
|
|
|
|
let urlStr = "\(endpoint)?" + queryParams.joined(separator: "&") |
|
|
guard let url = URL(string: urlStr) else { return } |
|
|
guard let url = URL(string: urlStr) else { return } |
|
|
|
|
|
|
|
|
var request = URLRequest(url: url) |
|
|
var request = URLRequest(url: url) |
|
|
@ -374,10 +382,18 @@ public final class SonioxLiveSession { |
|
|
) { |
|
|
) { |
|
|
let isTranslationMode = targetLanguage != nil && !targetLanguage!.isEmpty && targetLanguage != "off" |
|
|
let isTranslationMode = targetLanguage != nil && !targetLanguage!.isEmpty && targetLanguage != "off" |
|
|
let hints = languageHints.map { "language_hints=\($0)" }.joined(separator: "&") |
|
|
let hints = languageHints.map { "language_hints=\($0)" }.joined(separator: "&") |
|
|
var urlStr = "\(endpoint)?\(hints)&enable_speaker_diarization=false&enable_language_identification=true&enable_endpoint_detection=false&providers=soniox" |
|
|
|
|
|
|
|
|
var queryParams: [String] = [] |
|
|
|
|
|
if !hints.isEmpty { |
|
|
|
|
|
queryParams.append(hints) |
|
|
|
|
|
} |
|
|
|
|
|
queryParams.append("enable_speaker_diarization=false") |
|
|
|
|
|
queryParams.append("enable_language_identification=true") |
|
|
|
|
|
queryParams.append("enable_endpoint_detection=false") |
|
|
|
|
|
queryParams.append("providers=soniox") |
|
|
if let target = targetLanguage, !target.isEmpty, target != "off" { |
|
|
if let target = targetLanguage, !target.isEmpty, target != "off" { |
|
|
urlStr += "&target_language=\(target)" |
|
|
|
|
|
|
|
|
queryParams.append("target_language=\(target)") |
|
|
} |
|
|
} |
|
|
|
|
|
let urlStr = "\(endpoint)?" + queryParams.joined(separator: "&") |
|
|
guard let url = URL(string: urlStr) else { |
|
|
guard let url = URL(string: urlStr) else { |
|
|
completion(.failure(NSError(domain: "Soniox", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid URL"]))) |
|
|
completion(.failure(NSError(domain: "Soniox", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid URL"]))) |
|
|
return |
|
|
return |
|
|
|