👉 [[https://github.com/sponsors/xenodium][通过GitHub Sponsors支持这项工作]]
一个轻量级的主要模式,用于在Emacs缓冲区中打开媒体(音频/视频)文件。
#+HTML: <img src="https://yellow-cdn.veclightyear.com/835a84d5/89d2c969-ec5d-44f7-907b-781b17d27ab0.png" width="50%" />
#+HTML: <img src="https://yellow-cdn.veclightyear.com/835a84d5/2de612de-6ae1-4276-9019-9294f4aba2dc.png" width="70%" />
这个包可在MELPA上获得:
#+begin_src emacs-lisp :lexical no (use-package ready-player :ensure t :config (ready-player-mode +1)) #+end_src
要自定义支持的媒体文件,请在切换ready-player-mode之前设置ready-player-supported-media。
您可以通过M-x ready-player-mode交互式地打开或关闭媒体识别。
** 播放
ready-player-mode依赖命令行工具来播放媒体。
默认情况下,ready-player-mode会尝试使用mpv、vlc、ffplay或mplayer(按此顺序)。可以根据您的偏好自定义ready-player-open-playback-commands。
使用您喜欢的方法安装其中任何一个。
在macOS上:
#+begin_src sh brew install mpv #+end_src
** 元数据
元数据使用ffprobe提取,它与ffmpeg捆绑在一起。
使用您喜欢的方法安装。
在macOS上:
#+begin_src sh brew install ffmpeg #+end_src
** 缩略图
ready-player-mode优先使用ffmpegthumbnailer生成缩略图,但如果没有它则会回退到ffmpeg。
使用您喜欢的方法安装。
在macOS上:
#+begin_src sh brew install ffmpegthumbnailer #+end_src
** 视频与音频
如果您想使用不同的工具来播放视频和音频,可以使用ready-player-open-playback-commands来实现,例如:
#+begin_src emacs-lisp :lexical no (setq ready-player-open-playback-commands '((ready-player-is-audio-p "mpg123") (ready-player-is-video-p "mpv"))) #+end_src
#+BEGIN_SRC emacs-lisp :results table :colnames '("自定义变量" "描述") :exports results
(let ((rows))
(mapatoms
(lambda (symbol)
(when (and (string-match "^ready-player"
(symbol-name symbol))
(not (string-match "--" (symbol-name symbol)))
(or (custom-variable-p symbol)
(boundp symbol)))
(push (,symbol ,(car (split-string (or (get (indirect-variable symbol) 'variable-documentation) (get symbol 'variable-documentation) "") "\n"))) rows)))) rows) #+END_SRC #+RESULTS: | 自定义变量 | 描述 | |-----------------------------------------------------------+-------------------------------------------------------| | ready-player-supported-media | 支持的媒体类型。 | | ready-player-thumbnail-max-pixel-height | 缩略图最大像素高度。 | | ready-player-supported-video | 支持的视频媒体。 | | ready-player-shuffle | 在当前目录内随机选择下一个媒体项目。 | | ready-player-mode-hook | 进入或离开
ready-player-mode'时运行的钩子。 |
| ready-player-play-icon | 播放按钮图标字符串,例如:"⏵"。 |
| ready-player-previous-icon | 上一个按钮图标字符串,例如:"<<"。 |
| ready-player-multi-buffer | 非空时,启用打开多个缓冲区进行并行播放。 |
| ready-player-cache-metadata | 非空时,缓存元数据。 |
| ready-player-cache-thumbnails | 非空时,缓存缩略图。 |
| ready-player-major-mode-hook | 进入Ready Player模式后运行的钩子。 |
| ready-player-supported-audio | 支持的音频媒体。 |
| ready-player-mode | 如果Ready-Player模式启用,则为非空。 |
| ready-player-stop-icon | 停止图标字符串,例如:"■"。 |
| ready-player-shuffle-icon | 随机播放图标字符串,例如:"⤮"。 |
| ready-player-repeat | 如果当前目录中还有更多媒体,则继续播放。 |
| ready-player-autoplay | 非空时,媒体文件打开时自动开始播放。 |
| ready-player-open-externally-icon | 外部打开按钮图标字符串,例如:"➦"。 |
| ready-player-show-thumbnail | 非空时,如果可用则显示文件的缩略图。 |
| ready-player-hide-modeline | 如果非空,则隐藏缓冲区中的模式行。 |
| ready-player-next-icon | 下一个按钮图标字符串,例如:">>"。 |
| ready-player-major-mode-map | ready-player'的键盘映射。 | | ready-player-autoplay-icon | 自动播放图标字符串,例如:"⚡"。 | | ready-player-open-playback-commands | 尝试用于播放的命令行工具。 | | ready-player-major-mode-syntax-table |
ready-player-major-mode'的语法表。 |
| ready-player-display-dired-playback-buffer-display-action | 选择如何显示关联的播放`dired'缓冲区。 |
| ready-player-repeat-icon | 重复播放图标字符串,例如:"⇆"。 |
** 按钮(macOS SF Symbols)
默认情况下,如果可用,=ready-player-mode= 将尝试使用 macOS [[https://developer.apple.com/sf-symbols/][SF Symbols]] 作为 =ready-player-play-icon=、=ready-player-stop-icon= 和 =ready-player-open-externally-icon=。
你需要在 Emacs 中[[https://lmno.lol/alvaro/emacs-insert-and-render-sf-symbols][启用 SF 符号渲染]] /(在加载 =ready-player.el= 之前)/。
#+begin_src emacs-lisp :lexical no (when (memq system-type '(darwin)) (set-fontset-font t nil "SF Pro Display" nil 'append)) #+end_src
** 按钮(Linux)
如果 macOS SF Symbols 不可用,则使用 =<< ⏵ ■ >> ➦ ⇆= 作为备选。这些可以自定义(参见所有图标变量),但可能不是最佳选择。欢迎提供建议!
#+BEGIN_SRC emacs-lisp :results table :colnames '("命令" "描述") :exports results
(let ((rows))
(mapatoms
(lambda (symbol)
(when (and (string-match "^ready-player"
(symbol-name symbol))
(commandp symbol))
(push (,(string-join (seq-filter (lambda (symbol) (not (string-match "menu" symbol))) (mapcar (lambda (keys) (key-description keys)) (or (where-is-internal (symbol-function symbol) comint-mode-map nil nil (command-remapping 'comint-next-input)) (where-is-internal symbol ready-player-major-mode-map nil nil (command-remapping symbol)) (where-is-internal (symbol-function symbol) ready-player-major-mode-map nil nil (command-remapping symbol))))) " 或 ") ,(symbol-name symbol) ,(car (split-string (or (documentation symbol t) "") "\n"))) rows)))) rows) #+END_SRC #+结果: | d | ready-player-view-dired-playback-buffer | 查看关联的
dired' 播放缓冲区。 |
| | ready-player-set-album-artwork | 选择图片并设置为专辑封面。 |
| | ready-player-lookup-song | 在 Discogs 上查找当前歌曲。 |
| u | ready-player-unmark-dired-file | 在相应的 dired' 缓冲区中取消标记当前文件。 | | | ready-player-stop | 停止媒体播放。 | | SPC | ready-player-toggle-play-stop | 切换媒体播放/停止。 | | | ready-player-play | 开始媒体播放。 | | g | ready-player-reload-buffer | 从文件重新加载媒体。 | | o 或 e | ready-player-open-externally | 在默认外部程序中打开访问的文件。 | | | ready-player-toggle-autoplay | 切换自动播放设置。 | | | ready-player-toggle-modeline | 切换显示模式行。 | | | ready-player-mode | 切换 Ready Player 模式媒体文件识别。 | | | ready-player-version | 显示 Ready Player Mode 版本。 | | | ready-player-toggle-shuffle | 切换随机播放设置。 | | n | ready-player-next | 打开同一目录中的下一个媒体文件。 | | p | ready-player-previous | 打开同一目录中的上一个媒体文件。 | | q | ready-player-quit | 退出
ready-player-major-mode' 窗口并关闭缓冲区。 |
| | ready-player-major-mode | 预览和播放媒体文件的主要模式。 |
| | ready-player-toggle-repeat | 切换重复播放设置。 |
| TAB | ready-player-next-button | 导航到下一个按钮。 |
| <backtab> | ready-player-previous-button | 导航到上一个按钮。 |
| | ready-player-download-album-artwork | 下载专辑封面。 |
| m | ready-player-mark-dired-file | 在相应的 dired' 缓冲区中标记当前文件。 | | | ready-player-load-dired-playback-buffer | 打开
dired' 缓冲区。如果 DIRED-BUFFER 为空,则提供选择选项。 |
👉 [[https://github.com/sponsors/xenodium][通过 GitHub Sponsors 支持这项工作]]
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号