org-mode 怎么插入音频啊 例如mp3。我现在是以插入 file 链接的形式插入的,有什么方法可以播放这个音频文件么。比如定义一个快捷键,当光标在这个音频链接上时,按下快捷键播放这个音频
Windows下,借助外部音乐播放器可以很轻松的实现这个功能 Emacs内部支持音乐播放的代码就不知道了。
哦?借助外部播放器如何实现呢?
我只简单给你提供一个思路,后面的你自己完成。
(defun lxeg0429/foobar ()
(interactive)
(w32-shell-execute
"open"
"E:/Software/Useful Tools/Total Commander/Software/foobar2000/foobar2000.exe"
"f:/Download/"))
;; 启动foobar2000,并播放Download文件夹下的文件。
我用的是spacemacs,下面是定义快捷键
(spacemacs/set-leader-keys "opp" 'lxeg0429/PotPlayer)
上面只是给fb2k传递了一个参数,它是可以支持大量参数的,/stop /pause and so on
都可以。
具体到某一个文件的话,最好是有一个package可以识别音频的后缀并把指向的文件传递给fb2k就可以了。
帖主要的是一个内嵌的播放器吧:
http://orgmode.org/worg/code/elisp/org-player.el
;;; Usage
;;; =====
;;;
;;; Clicking on a link such as
;;;
;;; [[file:/path/to/song.mp3]]
;;;
;;; adds it to the active Bongo playlist and immediately starts playing
;;; it. Playback can be paused, fast-forwarded etc using Bongo commands (see
;;; below).
;;;
;;; Links can also specify track positions. When a link contains a track
;;; position, playback will start at that position in the track. For example:
;;;
;;; [[file:/path/to/song.mp3::2:43]] Starts playback at 2 min 43 sec.
;;; [[file:/path/to/song.mp3::1:10:45]] Starts playback at 1 hr 10 min 45 sec.
;;; [[file:/path/to/song.mp3::3m15s]] Starts playback at 3 min 15 sec.
;;; [[file:/path/to/song.mp3::49s]] Starts playback at 0 min 49 sec.
;;; [[file:/path/to/song.mp3::1h21m10s]] Starts playback at 1 hr 21 min 10 sec.
2 个赞
需要什么配置才能做到点击播放?
http://orgmode.org/worg/code/ 是社区贡献/搜集来的代码,不包含在 org-mode 中。并且也不一定是最新的,最好找到原始链接,把最新版本下载到本地,require 它。然后就可以用了。
我看他的代码,没看出哪里能够实现点击连接就播放啊…
你安装试试啊,需要外部播放器,给播放器传递参数。
源代码前几行就是了:
(add-to-list 'org-file-apps
(cons (concat org-player-file-extensions-regexp
"::[0-9]+[HhMmSs]\\([0-9]+[MmSs]\\|\\)\\([0-9]+[MmSs]\\|\\)")
'(org-player-play-file file search)))
org-mode 处理点击事件,然后交给 org-player-play-file
函数播放:
.--------------------- Emacs ------------------------. OS
| | |
Click -> [[file:<link>]] -> OrgMode -> org-player -> bongo ~~~> decoder
2 个赞