~aleteoryx/muditaos

232042a362caca0b5f1d8f1949545d7bb51b658c — Hubert Chrzaniuk 5 years ago 6cd0fd3
[EGD-5772] Add pause/resume API for media player

Simple version of pause / resume APIs has been added
for media player.
M module-apps/application-music-player/ApplicationMusicPlayer.cpp => module-apps/application-music-player/ApplicationMusicPlayer.cpp +27 -0
@@ 20,6 20,10 @@ namespace app
        : Application(name, parent, startInBackground, 4096)
    {
        LOG_INFO("ApplicationMusicPlayer::create");
        connect(typeid(AudioStartPlaybackResponse), [&](sys::Message *msg) {
            handlePlayResponse(msg);
            return sys::MessageNone{};
        });
    }

    ApplicationMusicPlayer::~ApplicationMusicPlayer()


@@ 27,6 31,12 @@ namespace app
        LOG_INFO("ApplicationMusicPlayer::destroy");
    }

    void ApplicationMusicPlayer::handlePlayResponse(sys::Message *msg)
    {
        auto startResponse = static_cast<AudioStartPlaybackResponse *>(msg);
        currentFileToken   = startResponse->token;
    }

    sys::MessagePointer ApplicationMusicPlayer::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp)
    {
        return Application::DataReceivedHandler(msgl);


@@ 95,6 105,23 @@ namespace app
        return true;
    }

    bool ApplicationMusicPlayer::pause()
    {
        if (currentFileToken) {
            return AudioServiceAPI::Pause(this, currentFileToken.value());
        }
        return false;
    }

    bool ApplicationMusicPlayer::resume()
    {
        if (currentFileToken) {

            return AudioServiceAPI::Resume(this, currentFileToken.value());
        }
        return false;
    }

    std::optional<audio::Tags> ApplicationMusicPlayer::getFileTags(const std::string &filePath)
    {
        return AudioServiceAPI::GetFileTags(this, filePath);

M module-apps/application-music-player/ApplicationMusicPlayer.hpp => module-apps/application-music-player/ApplicationMusicPlayer.hpp +3 -0
@@ 26,6 26,7 @@ namespace app

    class ApplicationMusicPlayer : public Application
    {
        std::optional<audio::Token> currentFileToken;

      public:
        ApplicationMusicPlayer(std::string name                    = name_music_player,


@@ 51,6 52,8 @@ namespace app
        bool resume();
        bool stop();
        std::optional<audio::Tags> getFileTags(const std::string &filePath);

        void handlePlayResponse(sys::Message *msg);
    };

    template <> struct ManifestTraits<ApplicationMusicPlayer>