Qt 如何使用QMetaDataWriterControl编辑Mp3元数据?

Qt 如何使用QMetaDataWriterControl编辑Mp3元数据?,qt,pyqt,metadata,Qt,Pyqt,Metadata,我想编辑一些mp3文件的元数据,如标题、相册等 我发现QMetaDataWriterControl类具有setMetaData()函数,但我不知道如何使用该类来实现它。有什么例子吗 编辑:我写了这段代码,但它没有返回: def _init__(self): filename="d:/1.mp3" url = QUrl.fromLocalFile(filename) self.player=QMediaPlayer() self.player.metaDataAva

我想编辑一些mp3文件的元数据,如标题、相册等

我发现
QMetaDataWriterControl
类具有
setMetaData()
函数,但我不知道如何使用该类来实现它。有什么例子吗

编辑:我写了这段代码,但它没有返回:

def _init__(self):
    filename="d:/1.mp3"
    url = QUrl.fromLocalFile(filename)
    self.player=QMediaPlayer()
    self.player.metaDataAvailableChanged.connect(self.setMetaData)
    self.player.setMedia(QMediaContent(url))


def setMetaData(self,b):
    s=self.player.service()
    x=s.requestControl('org.qt-project.qt.metadatawritercontrol/5.0') #return None

您将通过
QMediaService::requestControl(interface)
获得指向此类实例的指针。
QMediaObject
通过
QMediaObject::service()
方法提供服务。什么是接口?pyqt中是否有QMetaDataWriterControl?请尝试使用
QMetaDataWriterControl\u iid
而不是显式接口名称字符串。除此之外,播放器的服务可能根本无法实现该接口。它不是pyqt控制的东西,是底层Qt控制它。也许不要使用
QMediaPlayer
,而是尝试使用
QAudioDecoder
。您将通过
QMediaService::requestControl(interface)
获得指向此类实例的指针。
QMediaObject
通过
QMediaObject::service()
方法提供服务。什么是接口?pyqt中是否有QMetaDataWriterControl?请尝试使用
QMetaDataWriterControl\u iid
而不是显式接口名称字符串。除此之外,播放器的服务可能根本无法实现该接口。它不是pyqt控制的东西,是底层Qt控制它。也许不用
QMediaPlayer
,试试
QAudioDecoder