Ori*_*eto 12 python audio ipython-notebook jupyter
我试图IPython.display.Audio
在一个Jupyter Notebook单元格中嵌入多个对象,但由于某种原因,只显示最后一个.
这是一个简单的例子:
import IPython
IPython.display.Audio(url="https://ccrma.stanford.edu/~urinieto/drop/090412-Incendios.mp3")
IPython.display.Audio(url="https://ccrma.stanford.edu/~urinieto/drop/130224-Undertow.mp3")
Run Code Online (Sandbox Code Playgroud)
这仅显示一个(第二个)音频对象.理想情况下,我想将它放在一个for
循环中,并在一个单元格中显示多个音频对象.
有任何想法吗?
注意:我在Python 2.7.10上使用IPython 4.0.0运行Jupyter 4.0.6.
Taa*_*aar 22
该IPython.display.Audio(...)
命令仅创建 "显示"对象(在该特定情况下,Audio
该类的子类的对象DisplayObject
).
之后,您可以使用与类相关联的此类对象DisplayObject
(以及与该类绑定的特定内容Audio
)执行基本操作.其中一个动作包括使用该功能显示它IPython.display.display
.
因此,您的特定目标将通过以下代码实现:
import IPython
IPython.display.display(IPython.display.Audio(url="https://ccrma.stanford.edu/~urinieto/drop/090412-Incendios.mp3"))
IPython.display.display(IPython.display.Audio(url="https://ccrma.stanford.edu/~urinieto/drop/130224-Undertow.mp3"))
Run Code Online (Sandbox Code Playgroud)
相同的机制被用于显示的其他类型(子类)DisplayObject
对象:HTML
,Markdown
,Math
,SVG
,Javascript
,Video
,Image
等.参见此的详细信息.
当你第一次尝试这样做时,有三件事情真的令人困惑(我起初也很困惑):
命令的名称IPython.display.Audio
,似乎意味着会显示某些东西; 事实并非如此;
事实上,所有这些多媒体对象统称为"显示"对象,而其中一些永远不会真正"显示",只是嵌入在DOM树中(例如,一个Javascript
对象);
事实上,如果你创建这样一个对象并且不使用IPython.display.display
它,它将自动由标准IPython交互机制显示,如果它是在单元格中创建的最后一件事 ; 这是混淆的主要原因,因为它让人们认为你不需要使用任何特定的功能来显示"显示对象".
归档时间: |
|
查看次数: |
3908 次 |
最近记录: |