我正在用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