我正在用Jupyter做一些音频分析的东西,并尝试使用IPython.display.Audio
播放.ogg
文件。由于PyCharm经常无法打开大文件.ipynb
,我主要使用网络浏览器查看我的Notebook文件,其格式为localhost:8888
。IPython.display.Audio无法正确处理`.ogg`文件类型?
这张照片是我所得到的Chrome浏览器。正如你所看到的,FailToDisplay.ogg是从我的作品中取得的,音频播放栏未激活。 File-ACDC _-_ Back_In_Black-sample.ogg and song sample.mp3都是从网上下载的。 3个文件的完整性都是有效的,即它们都可以用音频播放器正确播放。
我还使用Microsoft Edge和Firefox对其进行了测试,结果基本相同。 2 .ogg
播放栏全部不活动,而.mp3
播放栏处于活动状态,并且完美无瑕。所以我想这个问题不是依赖网页浏览器。
我检查与Chrome开发者工具这三个音频playbars的HTML源代码,他们都是这样的:
<audio controls="controls">
<source src="data:None;base64,VERYLONGTEXT" type="None">
Your browser does not support the audio element.
</audio>
的type
的MP3是OGG audio/mpeg
和type
为None
。经过一些谷歌搜索,我想这与MIME类型有关。所以我用命令检查了3个音频文件mimetype
:
$ mimetype ./*
./AudioDisplayErrorTest.ipynb: text/plain
./FailToDisplay.ogg: audio/x-vorbis+ogg
./File-ACDC_-_Back_In_Black-sample.ogg: video/x-theora+ogg
./song sample.mp3: audio/mpeg
不是很奇怪。然后我发现这个博客帖子How to set MIMETYPES on server : Forums : PythonAnywhere和测试我的Python的MIME类型设置:
>>> import mimetypes
>>> mimetypes.guess_type("foo.ogg")
(None, None)
现在,我不知道接下来有这种情况该怎么办。这只是Jupyter或IPython或系统范围的错误?我在哪里可以改变这种行为?
我的Python环境设置
audioread==2.1.4
ipykernel==4.4.1
ipython==5.1.0
ipython-genutils==0.1.0
ipywidgets==4.1.1
jupyter==1.0.0
jupyter-client==4.3.0
jupyter-console==5.0.0
jupyter-core==4.1.1
librosa==0.4.3
nbconvert==4.2.0
nbformat==4.0.1
notebook==4.2.2
numpy==1.11.1
openpyxl==2.3.2
pydub==0.16.5
好吧,我自己想清楚了。 – Joshz