Как запустить терминальную программу, такую ​​как FFMPEG, из приложения Xcode Coco, используя swift? - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю над созданием приложения для Xcode, используя swift. Я пытаюсь запустить FFMPEG, когда кто-то нажимает на кнопку. В терминале это будет выглядеть как

ffmpeg -i input.mp4 output.mp4

Но после поиска везде я не могу найти способ выполнить команду, как если бы вы вводили ее в Терминал.

Итак, мой вопрос: как вы запускаете команду (возможно, из текстового поля) так же, как если бы вы ввели ее в Терминал?

Вот мой код:

import Foundation
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var inURL: NSTextField!
@IBOutlet weak var inText: NSTextField!

override func viewDidLoad() {
    super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    override var representedObject: Any? {
        didSet {
            // Update the view, if already loaded.
        }
    }
    @IBAction func clickURL(_ sender: Any) {
        var musicURL = inURL.stringValue
        if musicURL.isEmpty {
            musicURL = "No URL entered!"
        }
        let textReplace = "Downloading music from: \(musicURL)..."
        inText.stringValue = textReplace
        Process.launchedProcess(launchPath: "/usr/local/Cellar/ffmpeg/4.0.2/bin/ffmpeg", arguments: ["-i","input.mp4","output.mp4"])
    }
}

Я также буду использовать youtube-dl из GitHub, если смогу заставить работать FFMPEG.

1 Ответ

0 голосов
/ 15 апреля 2019
var p = Process.launchedProcess(launchPath: "/a/path/to/ffmpeg", arguments: ["-i", "input.mp4", "output.mp4"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...