emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Audio File in beamer and orgmode


From: Leo Butler
Subject: Re: Audio File in beamer and orgmode
Date: Wed, 2 Oct 2024 15:20:39 +0000
User-agent: Gnus/5.13 (Gnus v5.13)

On Wed, Oct 02 2024, Orm Finnendahl <orm.finnendahl@selma.hfmdk-frankfurt.de> 
wrote:

> Hi Luís,
>
>  it doesn't work OOTB in org-mode, but you can always embed LaTex
> verbatim in Org files using the #+LATEX: prefix.
>
> My recommendation: Generate a LaTex file from org beamer with some
> blind text at a place where you need your link and then check, what
> you have to input there in order to get working links to audio files
> by directly rendering from the LaTeX file generated by org.
>
> This page might get you there:
>
> https://tex.stackexchange.com/questions/51632/embedding-sound-files-into-beamer-presentation-with-media9
>
> This part on the page:
>
> \includemedia[
>   addresource=igottafever.mp3,
>   flashvars={
>     source=igottafever.mp3
>    &autoPlay=true
>   }
>
> has to be marked up in org-mode like this to appear in the latex after
> export:
>
> #+LATEX: \includemedia[
> #+LATEX:   addresource=igottafever.mp3,
>
> #+LATEX:   flashvars={
> #+LATEX:     source=igottafever.mp3
>
> #+LATEX:    &autoPlay=true
> #+LATEX:   }
>
> Once it works, this could also be put into an elisp function and
> invoked on a keystroke prompting for the url and its name. I think you
> can also use #+BEGIN_LATEX: and #+END_LATEX: to avoid repeating the
> #+LATEX on every line.

You can use `org-link-set-parameters' to set a custom handlers for a link
type.

Here is a simple example:

#+begin_src elisp
(org-link-set-parameters "play" :export #'(lambda (path description backend 
info)
                                            (message "path=%s description=%s 
backend=%s info=%s" path description backend info)
                                            (cl-case backend
                                              ((beamer latex)
                                               (format "\\href{run:%s}{%s}\n" 
path description))
                                              (t
                                               (format "")))))
#+end_src

Then, the link

[[play:vlc --rate 3 --loop --fullscreen unfolding.mp4][unfolding.mp4]]

will be exported as a link in the beamer file that runs that command.

For your purposes, with Orm's example,

#+begin_src elisp
(org-link-set-parameters "mp3emb" :export #'(lambda (path description backend 
_info)
                                            (cl-case backend
                                              ((beamer latex)
                                               (format
                                               
"\\includemedia[addresource=%s,flashvars={source=%s&autoPlay=true}]{\\fbox{%s}}{PLAYER}\n"
                                               path path description))
                                              (t
                                               (format "")))))
#+end_src

should allow you to use a link like

[[mp3emb:music.mp3][Background noise]]

in your Org file.

Note that you do need to set the PLAYER.

Best,
Leo

>
> --
> Orm
>
>
> Am Mittwoch, den 02. Oktober 2024 um 11:50:10 Uhr (+0200) schrieb luis
> antunes pena:
>> Dear all,
>> 
>> I'm working on a presentation in beamer using
>> orgmode and couldn´t find information on how to
>> include an audio file in orgmode to be converted
>> to beamer and a pdf.
>> 
>> Is there any example that you could share?
>> 
>> Thanks in advance.
>> 
>> Luís
>

-- 
---
Best regards,
Dr Butler

reply via email to

[Prev in Thread] Current Thread [Next in Thread]