Emacs:ビデオファイルを開いて再生する方法


9

たとえば、Diredモードでファイルシステムを探索しているときに、ビデオファイルに遭遇した場合、そのビデオファイルを再生できると便利です。Emacsでこれを行うにはどうすればよいですか?

Emacsを使用してビデオファイルを開くことができますが、結果はあまり役に立ちません。エンコードされたファイルをテキストとして表示するだけです。Emacsがビデオファイルを再生する方法、またはvlcのような別のプログラムにファイルを再生させるコマンドにリンクする方法はありますか?


2
たぶん、この答えが役立つかもしれません
Nsukami _

回答:


6

Linuxでは、これを常に行います。滞在中diredのモード、見たいファイルの上にカーソルを持っています。

と入力し!、続けて使用するプログラムを入力します。

私はを使用mplayerしているので、次のように入力します。

!mplayer

以上です。vlcを使用することも、プラットフォームで機能するものを使用することもできます。

!vlc

diredを使用して本当に良いことは、mplayerの出力を含むウィンドウが表示されることです(nautilusまたはなどのファイルエディターthunarを使用して右クリックし、ファイルをmplayerで開始するように要求すると、ウィンドウが表示されません)。

とにかく、マクロや拡張機能は必要ありません。ただ...!


&非同期でそれを行うために使用します。例:&vlc-シェルコマンドを閉じる必要なく、emacsを取得します
Darshan Chaudhary

@DarshanChaudhary &vlcは機能していないようですが、vlc&機能します。
otyn

2

Dired +はこれに役立ちますが、バニラDiredでも必要なものの基本を提供します。

この答えは、その方法を詳しく説明しています。外部のPDFビューアを使用してPDFファイルを表示することに関する質問だけですが、外部のプログラムを使用してファイルにアクセスする方法についても説明します。

答えは、使用するプラットフォームにもある程度依存します。特に、MS Windowsを使用している場合は、Windowsファイルの関連付けなどを利用できます。


2

この投稿ではVLCの設定について説明しました。本当にすばらしいのは、子プロセスがによって否認されるnohupため、VLCを自動的に閉じなくてもEmacsを安全に再起動または閉じることができることです。

これがコードです:

(require 'dired-aux)
(defvar dired-filelist-cmd
  '(("vlc" "-L")))
(defun dired-start-process (cmd &optional file-list)
  (interactive
   (let ((files (dired-get-marked-files
                 t current-prefix-arg)))
     (list
      (dired-read-shell-command "& on %s: "
                                current-prefix-arg files)
      files)))
  (let (list-switch)
    (start-process
     cmd nil shell-file-name
     shell-command-switch
     (format
      "nohup 1>/dev/null 2>/dev/null %s \"%s\""
      (if (and (> (length file-list) 1)
               (setq list-switch
                     (cadr (assoc cmd dired-filelist-cmd))))
          (format "%s %s" cmd list-switch)
        cmd)
      (mapconcat #'expand-file-name file-list "\" \"")))))

(define-key dired-mode-map "r" 'dired-start-process)

コードが行うもう1つのことは、いくつかのファイルをmでマークし、それらすべてをVLCプレイリストにキューイングできるようにすることです。


0

次のスニペットは、現在カーソルが置かれている1つのファイルに対してのみOSXオペレーティングシステムで機能します。このコードでは、ファイル拡張子の調査や、ファイル拡張子と一致する正しいアプリケーションの推測は行われません。

(start-process
  "my-process-name" ;; process name
  nil ;; buffer output name, if an output buffer is so desired.
  "open" ;; argument 1
  "-a" ;; argument 2
  "/Applications/VLC.app/Contents/MacOS/VLC" ;; argument 3
  (dired-get-file-for-visit)) ;; argument 4

オリジナルポスターは、複数のマークされたファイルを開くに対処その後、使用したい場合dired-get-marked-filesmapcarドロップダウンリスト。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.