diff --git a/libraries/audio/src/Sound.cpp b/libraries/audio/src/Sound.cpp index 001f863e03..3aae6b995d 100644 --- a/libraries/audio/src/Sound.cpp +++ b/libraries/audio/src/Sound.cpp @@ -73,15 +73,18 @@ Sound::Sound(const QUrl& sampleURL, QObject* parent) : // QNetworkAccess manager to grab the raw audio file at the given URL QNetworkAccessManager *manager = new QNetworkAccessManager(this); - connect(manager, SIGNAL(finished(QNetworkReply*)), - this, SLOT(replyFinished(QNetworkReply*))); qDebug() << "Requesting audio file" << sampleURL.toDisplayString(); - manager->get(QNetworkRequest(sampleURL)); + + QNetworkReply* soundDownload = manager->get(QNetworkRequest(sampleURL)); + connect(soundDownload, &QNetworkReply::finished, this, &Sound::replyFinished); + connect(soundDownload, SLOT(error(QNetworkReply::NetworkError)), this, SIGNAL(error(QNetworkReply::NetworkError))); } -void Sound::replyFinished(QNetworkReply* reply) { +void Sound::replyFinished() { + QNetworkReply* reply = reinterpret_cast(sender()); + // replace our byte array with the downloaded data QByteArray rawAudioByteArray = reply->readAll(); @@ -110,6 +113,11 @@ void Sound::replyFinished(QNetworkReply* reply) { } } +void Sound::replyError(QNetworkReply::NetworkError code) { + QNetworkReply* reply = reinterpret_cast(sender()); + qDebug() << "Error downloading sound file at" << reply->url().toString() << "-" << reply->errorString(); +} + void Sound::downSample(const QByteArray& rawAudioByteArray) { // assume that this was a RAW file and is now an array of samples that are diff --git a/libraries/audio/src/Sound.h b/libraries/audio/src/Sound.h index e1613fec51..50b2bbadaa 100644 --- a/libraries/audio/src/Sound.h +++ b/libraries/audio/src/Sound.h @@ -13,8 +13,7 @@ #define hifi_Sound_h #include - -class QNetworkReply; +#include class Sound : public QObject { Q_OBJECT @@ -31,7 +30,8 @@ private: void interpretAsWav(const QByteArray& inputAudioByteArray, QByteArray& outputAudioByteArray); private slots: - void replyFinished(QNetworkReply* reply); + void replyFinished(); + void replyError(QNetworkReply::NetworkError code); }; #endif // hifi_Sound_h