140void QAudioDecoder::setSource(
const QUrl &fileName)
142 using namespace QtMultimediaPrivate;
145 d->decoder->clearError();
146 d->unresolvedUrl = fileName;
147 d->decoder->setSourceDevice(
nullptr);
152 if (!fileName.isEmpty() && fileName.scheme() == u"qrc" && !d->decoder->canReadQrc()) {
153 QFile file(u':' + fileName.path());
154 if (!file.open(QFile::ReadOnly)) {
155 d->decoder->error(QAudioDecoder::ResourceError,
156 tr(
"Attempting to play invalid Qt resource"));
160 auto qrcMedia = qCopyQrcToTemporaryFile(file, fileName);
162 d->decoder->error(QAudioDecoder::ResourceError, qrcMedia.error());
166 d->qrcFile = std::move(qrcMedia->file);
167 d->decoder->setSource(qrcMedia->url);
171 QUrl url = qMediaFromUserInput(fileName);
172 d->decoder->setSource(url);