Qt 如何使用QMetaDataWriterControl编辑Mp3元数据?
我想编辑一些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
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
。