Was soll ich in diesem Fall mit dem folgenden Code tun?Wie man ein "Sagen" in Swift 3 im Befehlszeilenprogramm ausführt?
func convertToM4A(filename: String, voice: String) -> Bool {
let full_string = speaking_queue?.joined(separator: " ")
let command_string: [String] = [/"-v \"\(voice)\"",*/ "--progress", "--output-file=\"\(filename)\"","-i", " \"\(full_string!)\""]
print(command_string)
/
let DocumentsDirectory = FileManager().homeDirectory(forUser: "shyamalchandra")
print((DocumentsDirectory?.absoluteString)!)
*/
let task = Process()
task.launchPath = "/usr/bin/say"
task.arguments = command_string
let pipe = Pipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output: String? = String(data: data, encoding: String.Encoding.utf8)
task.waitUntilExit()
if let output = output {
if !output.isEmpty {
print(output.trimmingCharacters(in: .whitespacesAndNewlines))
}
}
return true
}
Zur Laufzeit, klagt sie über die Umwelt TERM ist nicht festgelegt und darüber hinaus schreibt die Datei nicht auf der Festplatte. Was ist zu tun?
Es ist nicht klar, was Sie erreichen möchten. Möchten Sie Konsolenprotokolle drucken? –
@ShyamalChandra Warum würden Sie eine Variable namens 'command_string' erstellen, wenn es sich tatsächlich um ein Array handelt? ಠ_ಠ – Alexander