From ed870716c179a0ff3b1f0b8b0bd5ac75d89dba9c Mon Sep 17 00:00:00 2001 From: greedysky Date: Wed, 19 Jul 2017 14:23:24 +0800 Subject: [PATCH] Update --- README.md | 4 ++-- demo2.jpg | Bin 0 -> 68522 bytes main.cpp | 2 +- spek-audio.cc | 12 ++++++------ spek-palette.cc | 2 +- spek-palette.h | 6 +++--- spek-spectrogram.cc | 2 +- spek-spectrogram.h | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 demo2.jpg diff --git a/README.md b/README.md index ff3a491..941cdce 100644 --- a/README.md +++ b/README.md @@ -3,5 +3,5 @@ 修改于Spek[官网地址](http://spek.cc), [Github仓库地址](https://github.com/alexkay/spek) -运行效果 -![0](https://github.com/Greedysky/qt-spek/blob/master/demo.jpg?raw=true) \ No newline at end of file +![0](https://github.com/Greedysky/qt-spek/blob/master/demo.jpg?raw=true) +![1](https://github.com/Greedysky/qt-spek/blob/master/demo2.jpg?raw=true) \ No newline at end of file diff --git a/demo2.jpg b/demo2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3d34e9ce23807336779ee2049eb6a67a23dc6ec3 GIT binary patch literal 68522 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 literal 0 HcmV?d00001 diff --git a/main.cpp b/main.cpp index b384328..df55114 100644 --- a/main.cpp +++ b/main.cpp @@ -8,7 +8,7 @@ int main(int argc, char *argv[]) SpekSpectrogram w; w.show(); - w.open("filePath"); + w.open("F:\\KuGou\\J.Fla - Shape Of You.mp3"); return a.exec(); } diff --git a/spek-audio.cc b/spek-audio.cc index 1247850..4c244d1 100644 --- a/spek-audio.cc +++ b/spek-audio.cc @@ -193,7 +193,7 @@ AudioFileImpl::AudioFileImpl( this->packet.data = nullptr; this->packet.size = 0; this->offset = 0; - this->frame = av_frame_alloc(); + this->frame = avcodec_alloc_frame(); this->buffer_len = 0; this->buffer = nullptr; this->frames_per_interval = 0; @@ -207,13 +207,13 @@ AudioFileImpl::~AudioFileImpl() av_freep(&this->buffer); } if (this->frame) { - av_frame_free(&this->frame); + avcodec_free_frame(&this->frame); } if (this->packet.data) { this->packet.data -= this->offset; this->packet.size += this->offset; this->offset = 0; - av_packet_unref(&this->packet); + av_free_packet(&this->packet); } if (this->format_context) { if (this->audio_stream >= 0) { @@ -250,7 +250,7 @@ int AudioFileImpl::read() for (;;) { while (this->packet.size > 0) { - av_frame_unref(this->frame); +// avcodec_free_frame(&this->frame); auto codec_context = this->format_context->streams[this->audio_stream]->codec; int got_frame = 0; int len = avcodec_decode_audio4(codec_context, this->frame, &got_frame, &this->packet); @@ -318,7 +318,7 @@ int AudioFileImpl::read() this->packet.data -= this->offset; this->packet.size += this->offset; this->offset = 0; - av_packet_unref(&this->packet); + av_free_packet(&this->packet); } int res = 0; @@ -326,7 +326,7 @@ int AudioFileImpl::read() if (this->packet.stream_index == this->audio_stream) { break; } - av_packet_unref(&this->packet); + av_free_packet(&this->packet); } if (res < 0) { // End of file or error. diff --git a/spek-palette.cc b/spek-palette.cc index 1b0069e..e2698ae 100644 --- a/spek-palette.cc +++ b/spek-palette.cc @@ -81,7 +81,7 @@ static uint32_t mono(double level) return (v << 16) + (v << 8) + v; } -uint32_t spek_palette(enum palette palette, double level) { +uint32_t spek_palette(Palette palette, double level) { switch (palette) { case PALETTE_SPECTRUM: return spectrum(level); diff --git a/spek-palette.h b/spek-palette.h index 29e1aae..6d13238 100644 --- a/spek-palette.h +++ b/spek-palette.h @@ -3,14 +3,14 @@ #include -enum palette { +typedef enum palette { PALETTE_SPECTRUM, PALETTE_SOX, PALETTE_MONO, PALETTE_COUNT, PALETTE_DEFAULT = PALETTE_SOX, -}; +}Palette; -uint32_t spek_palette(enum palette palette, double level); +uint32_t spek_palette(Palette palette, double level); #endif diff --git a/spek-spectrogram.cc b/spek-spectrogram.cc index f6ecb46..4b1b796 100644 --- a/spek-spectrogram.cc +++ b/spek-spectrogram.cc @@ -41,7 +41,7 @@ SpekSpectrogram::SpekSpectrogram(QWidget *parent) : window_function(WINDOW_DEFAULT), duration(0.0), sample_rate(0), - palette(PALETTE_DEFAULT), + palette(PALETTE_SPECTRUM), prev_width(-1), fft_bits(FFT_BITS), urange(URANGE), diff --git a/spek-spectrogram.h b/spek-spectrogram.h index 3284e53..41fba43 100644 --- a/spek-spectrogram.h +++ b/spek-spectrogram.h @@ -25,7 +25,7 @@ class SpekSpectrogram : public QWidget inline QImage *getPaintImage() { return ℑ } inline int getURange() const { return urange; } inline int getLRange() const { return lrange; } - enum palette getPalette() const { return palette; } + Palette getPalette() const { return palette; } private: void paintEvent(QPaintEvent *event); @@ -46,7 +46,7 @@ class SpekSpectrogram : public QWidget QString desc; double duration; int sample_rate; - enum palette palette; + Palette palette; QImage palette_image; QImage image; int prev_width;