gpt4 book ai didi

qt - 自定义 URL 协议(protocol)处理程序 Qt 5

转载 作者:行者123 更新时间:2023-12-04 04:35:25 25 4
gpt4 key购买 nike

我想使用 Video/MediaPlayer我的应用程序中的 QML 元素,并让它播放自定义流中的视频。 QMediaPlayer似乎支持这一点,因为您可以告诉它从 QIODevice 中读取。它可以做任何你想做的事情。但是MediaPlayer仅支持 URL。

有什么方法可以注册我自己的使用我自己的流协议(protocol)的 URL 方案?例如,假设我想制作 rtsp2://... ,我可以做一些模糊的事情吗:

class Rtsp2 : public QIODevice
{
// open, read, seek, close, etc.
}

QCoreApplication::registerUrlProtocol("rtsp2", Rtsp2);

最佳答案

我没有查看详细信息,但 QML 引擎有一个用于连接的 QNetworkAccessManager。您可以通过子类化和 Hook createRequest 在 QNAM 层添加自己的协议(protocol)。但是我怀疑 QMediaPlayer 可能不会使用此 QNAM 进行媒体加载,因为底层媒体层通常提供自己的 IO 抽象。

(此外,向 QNAM 添加自定义协议(protocol)并非易事 - 理想情况下,这将是一个简单的“registerProtocolFor”调用,但遗憾的是事实并非如此)

关于qt - 自定义 URL 协议(protocol)处理程序 Qt 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14025521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com