QMediaPlayer播放声音的内部异常



当我尝试执行"play"对于不存在的文件上的循环,我得到了异常&;stack_overflow&;。我使用Qt 5.15.2和windows 7

playlist->addMedia(QUrl::fromLocalFile("not_exist"));
playlist->setPlaybackMode(QMediaPlaylist::Loop);
QMediaPlayer *music = new QMediaPlayer();
music->setPlaylist(playlist);
music->play();

我可以捕获这个异常,或者我可以使用另一种方式在循环中运行声音来排除这个问题吗?

你必须使用QMediaPlayer的错误信号:

connect(music, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error),
[music](QMediaPlayer::Error error){
qDebug() << error << music->errorString();
});

输出:

QMediaPlayer::ResourceError "Could not open resource for reading."

相关内容

  • 没有找到相关文章

最新更新