背景:我有一个数据库,其中视频文件的路径存储为 Windows UNC 路径字符串,例如“\\11.22.33.44\path\movie.mp4”。(Windows 格式是遗留的东西,我无法从根本上改变它们的存储方式)。
我现在正在使用 PyQt5 的 QMediaPlayer 开发 Python 媒体播放器。在 Windows 上,它工作正常,并且:
self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile(str(fileName))))
在播放器中打开电影文件。
但是,也需要在 Mac 上进行这项工作,并且我在将 Windows UNC 路径转换为适用于 Mac 的 QUrl 格式时遇到了问题。我在网上尝试了各种示例os.path,pathlib但似乎没有一个可以创建可以使用的有效路径QUrl.fromLocalFile。我总是打Error: Failed to load media。我得到像“/11.22.33.44/file/movie.mp4”这样的结果,开头有一个反斜杠和一个前斜杠,诸如此类。
我应该指出,是的,这些是网络路径,被发送到一个名为“fromLocalFile”的方法,但 QUrl 的文档确实声明它将与网络路径一起使用:https ://doc.qt.io/qt-5/ qurl.html#fromLocalFile - 所以我认为这不应该是问题吗?
有人可以向我解释完成这项工作的正确方法吗?我认为 Pathlib 应该能够使用它,而我只是以错误的方式接近它。
(这个问题不是使用 QMediaPlayer 和 UNC 路径加载视频的重复,因为我的代码在 Windows 上运行,并且我在 Mac 友好路径上遇到了不同的问题。)